Spreadsheetサービスの中で使用頻度が高いクラスについて、以下で紹介します。
クラスの一覧
主なクラスを紹介します。
クラス | 説明 |
SpreadsheetApp | Spreadsheetサービスへのエントリーポイント。スプレッドシート全体を管理します。 |
Spreadsheet | スプレッドシート全体を表すクラス。シートやデータの操作を行います。 |
Sheet | スプレッドシート内の個々のシートを表すクラス。セルや行、列の操作を行います。 |
Range | シート内のセルの範囲を表すクラス。セルデータの取得や設定を行います。 |
使用例
具体的な使用例を紹介します。
function シートを操作する() {
// スプレッドシートを開く
let スプレッドシート = SpreadsheetApp.getActiveSpreadsheet();
// シートを取得
let シート = スプレッドシート.getSheetByName('シート1');
// 特定の範囲を取得
let 範囲 = シート.getRange('A1:B2');
// 範囲内のデータを取得
let データ = 範囲.getValues();
// データをログに出力
Logger.log('範囲A1:B2のデータ:');
Logger.log(データ);
// データをスプレッドシートの別の場所に書き込む
let 書き込み範囲 = シート.getRange('C1:D2');
書き込み範囲.setValues(データ);
// 結果を表示
SpreadsheetApp.getUi().alert('範囲A1:B2のデータがC1:D2にコピーされました。');
}
// スプレッドシートを開く
let スプレッドシート = SpreadsheetApp.getActiveSpreadsheet();
// シートを取得
let シート = スプレッドシート.getSheetByName('シート1');
// 特定の範囲を取得
let 範囲 = シート.getRange('A1:B2');
// 範囲内のデータを取得
let データ = 範囲.getValues();
// データをログに出力
Logger.log('範囲A1:B2のデータ:');
Logger.log(データ);
// データをスプレッドシートの別の場所に書き込む
let 書き込み範囲 = シート.getRange('C1:D2');
書き込み範囲.setValues(データ);
// 結果を表示
SpreadsheetApp.getUi().alert('範囲A1:B2のデータがC1:D2にコピーされました。');
}
①SpreadsheetApp:
SpreadsheetApp.getActiveSpreadsheet() を使用して、現在開いているスプレッドシートを取得します。
②Spreadsheet:
getSheetByName('シート1') を使って、特定のシート(例では「シート1」)を取得します。
③Sheet:
getRange('A1:B2') を使用して、シート内の特定の範囲(例ではセルA1からB2まで)を取得します。
④Range:
上記で取得したデータ範囲を、別の範囲('C1:D2')に書き込みます。
上記の内容を実行すると、シート「シート1」のセルA1からB2までのデータが取得され、それが同じシートのセルC1からD2にコピーされます。また、コピーが完了したことがアラートで通知されます。
まとめ
クラスを組み合わせて、スプレッドシート内のデータ操作、シートの管理、データ検証、テーマの設定など、さまざまな操作を行うことができます。