教えて!GAS!

GASの基礎知識・書き方について紹介します。

Google Apps ScriptでのSpreadsheetサービスのクラスについて

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にコピーされました。');
}

①SpreadsheetApp:
 SpreadsheetApp.getActiveSpreadsheet() を使用して、現在開いているスプレッドシートを取得します。
②Spreadsheet:
 getSheetByName('シート1') を使って、特定のシート(例では「シート1」)を取得します。
③Sheet:
 getRange('A1:B2') を使用して、シート内の特定の範囲(例ではセルA1からB2まで)を取得します。
④Range:
 上記で取得したデータ範囲を、別の範囲('C1:D2')に書き込みます。

上記の内容を実行すると、シート「シート1」のセルA1からB2までのデータが取得され、それが同じシートのセルC1からD2にコピーされます。また、コピーが完了したことがアラートで通知されます。

まとめ

クラスを組み合わせて、スプレッドシート内のデータ操作、シートの管理、データ検証、テーマの設定など、さまざまな操作を行うことができます。