SpreadsheetAPPクラスは、Spreadsheetサービスの最上位に位置するトップレベルオブジェクトです。SpreadsheetAPPクラスには、スプレッドシートの取得や現在アクティブになっているシートやセル範囲を取得するメンバーが用意されています。
メンバー一覧
主な種類を紹介します。
メンバー | 説明 |
create(スプレッドシート名) | 新しいスプレッドシートを作成します |
flush() | すべての保留中の変更を適用します |
getActiveRange() | 現在アクティブな範囲を取得します |
getActiveSheet() | 現在アクティブなシートを取得します |
deleteActiveSpreadsheet() | アクティブなスプレッドシートを削除します |
getCurrentCell() | 現在のセルを取得します |
getActiveCell() | 現在アクティブなセルを取得します |
getActiveSpreadsheet() | 現在アクティブなスプレッドシートを取得します |
getUi() | スプレッドシートのユーザーインターフェース(UI)を取得します |
getUser() | 現在のユーザーを取得します |
open(スプレッドシート) | スプレッドシートを開きます |
openById(スプレッドシートID) | スプレッドシートIDでスプレッドシートを開きます |
openByUrl(URL) | スプレッドシートのURLでスプレッドシートを開きます |
setActiveRange(範囲) | 指定した範囲をアクティブに設定します |
setActiveSheet(シート) | 指定したシートをアクティブシートに設定します |
setActiveSpreadsheet(スプレッドシート) | 指定したスプレッドシートをアクティブスプレッドシートに設定します |
setActiveRangeList(範囲リスト) | 指定した範囲リストをアクティブに設定します |
setActiveSelection(範囲) | 指定した範囲をアクティブな選択に設定します |
setNamedRange(名前, 範囲) | 指定した名前付き範囲を設定します |
setColumnWidth(列番号, 幅) | 指定した列の幅を設定します |
setRowHeight(行番号, 高さ) | 指定した行の高さを設定します |
setBackground(背景色) | 範囲の背景色を設定します |
setFontColor(フォント色) | 範囲のフォント色を設定します |
setFontSize(フォントサイズ) | 範囲のフォントサイズを設定します |
setValue(値) | セルまたは範囲に値を設定します |
プログラミング例
具体的なプログラミング例を紹介します。
create(スプレッドシート名)
let 新しいシート = SpreadsheetApp.create('新しいスプレッドシート');
Logger.log('作成されたスプレッドシートのURL: ' + 新しいシート.getUrl());
}
flush()
let シート = SpreadsheetApp.getActiveSpreadsheet();
// ここでいくつかの操作を行う
SpreadsheetApp.flush();
Logger.log('すべての保留中の変更が適用されました。');
}
getActiveRange()
let アクティブ範囲 = SpreadsheetApp.getActiveSpreadsheet().getActiveRange();
Logger.log('アクティブ範囲: ' + アクティブ範囲.getA1Notation());
}
getActiveSheet()
let アクティブシート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
Logger.log('アクティブシートの名前: ' + アクティブシート.getName());
}
deleteActiveSpreadsheet()
let シート = SpreadsheetApp.getActiveSpreadsheet();
シート.deleteActiveSpreadsheet();
Logger.log('アクティブなスプレッドシートが削除されました。');
}
getCurrentCell()
let 現在のセル = SpreadsheetApp.getActiveSpreadsheet().getCurrentCell();
if (現在のセル != null) {
Logger.log('現在のセルの値: ' + 現在のセル.getValue());
} else {
Logger.log('現在のセルが選択されていません。');
}
}
getActiveCell()
let アクティブセル = SpreadsheetApp.getActiveSpreadsheet().getActiveCell();
Logger.log('アクティブセルの値: ' + アクティブセル.getValue());
}
getActiveSpreadsheet()
let スプレッドシート = SpreadsheetApp.getActiveSpreadsheet();
Logger.log('アクティブなスプレッドシートの名前: ' + スプレッドシート.getName());
}
getUi()
let ui = SpreadsheetApp.getUi();
ui.alert('これはアラートダイアログです');
}
getUser()
let ユーザー = SpreadsheetApp.getActiveSpreadsheet().getUser();
Logger.log('現在のユーザー: ' + ユーザー);
}
open(スプレッドシート)
let スプレッドシート = SpreadsheetApp.open('既存のスプレッドシート');
Logger.log('スプレッドシートを開きました: ' + スプレッドシート.getName());
}
openById(スプレッドシートID)
let スプレッドシートID = 'your-spreadsheet-id-here';
let スプレッドシート = SpreadsheetApp.openById(スプレッドシートID);
Logger.log('スプレッドシートを開きました: ' + スプレッドシート.getName());
}
openByUrl(URL)
let URL = 'your-spreadsheet-url-here';
let スプレッドシート = SpreadsheetApp.openByUrl(URL);
Logger.log('スプレッドシートを開きました: ' + スプレッドシート.getName());
}
setActiveRange(範囲)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1:B2');
SpreadsheetApp.setActiveRange(範囲);
Logger.log('アクティブ範囲が設定されました: ' + 範囲.getA1Notation());
}
setActiveSheet(シート)
let シート = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
SpreadsheetApp.setActiveSheet(シート);
Logger.log('アクティブシートが設定されました: ' + シート.getName());
}
setActiveSpreadsheet(スプレッドシート)
let スプレッドシート = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSpreadsheet(スプレッドシート);
Logger.log('アクティブスプレッドシートが設定されました: ' + スプレッドシート.getName());
}
setActiveRangeList(範囲リスト)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲1 = シート.getRange('A1:A2');
let 範囲2 = シート.getRange('B1:B2');
SpreadsheetApp.setActiveRangeList([範囲1, 範囲2]);
Logger.log('アクティブ範囲リストが設定されました。');
}
setActiveSelection(範囲)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1');
SpreadsheetApp.setActiveSelection(範囲);
Logger.log('アクティブ選択が設定されました: ' + 範囲.getA1Notation());
}
setNamedRange(名前, 範囲)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1:B2');
シート.setNamedRange('サンプル範囲', 範囲);
Logger.log('名前付き範囲が設定されました: サンプル範囲');
}
setColumnWidth(列番号, 幅)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
シート.setColumnWidth(1, 200);
Logger.log('1列目の幅が200に設定されました。');
}
setRowHeight(行番号, 高さ)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
シート.setRowHeight(1, 30);
Logger.log('1行目の高さが30に設定されました。');
}
setBackground(背景色)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1:B2');
範囲.setBackground('#FF0000');
Logger.log('範囲A1:B2の背景色が赤に設定されました。');
}
setFontColor(フォント色)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1:B2');
範囲.setFontColor('#0000FF');
Logger.log('範囲A1:B2のフォント色が青に設定されました。');
}
setFontSize(フォントサイズ)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1:B2');
範囲.setFontSize(14);
Logger.log('範囲A1:B2のフォントサイズが14に設定されました。');
}
setValue(値)
let シート = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let 範囲 = シート.getRange('A1');
範囲.setValue('こんにちは');
Logger.log('セルA1に値「こんにちは」が設定されました。');
}
まとめ
SpreadsheetAppクラスは、スプレッドシートを操作するための多機能なクラスであり、新しいスプレッドシートの作成や、既存のスプレッドシートの操作を簡単に行うことができます。各メンバーを適切に使い分けることで、スプレッドシートを効率的に管理できるようになります。