【GAS】スプレッドシート取得、getActiveSpreadsheetとgetActiveSheetの違い【Google Apps Script】

GAS基本メソッド
この記事は約4分で読めます。

GASのスプレッドシート取得メソッドで、getActiveSpreadsheet()とgetActiveSheet()があります。

SpreadsheetとSheetの違い

この違いは、スプレッドシートとシートの違いです。

Googleスプレッドシートの
「スプレッドシート(Spreadsheet)」Excelでいうブックで、
「シート(Sheet)」はExcelでいう、シートになります。

Googleスプレッドシートはブックという名称ではなく、
「スプレッドシート」という名称になるので、私も初めは少し混乱しました。

混乱するよね?!

getActiveSpreadsheetとgetActiveSheetの違い

スポンサーリンク

getActiveSpreadsheetとgetActiveSheet
「getActive」は、アクティブになっているスプレッドシート(シート)のことで、
現在選択中(開いている)のスプレッドシート及びシートのことです。

onEdit()やトリガーで自動実行させる際は、
編集時や変更時であれば編集や変更されたシート、
時間などで定期実行させるものであれば、シート1(一番左のシート)に実行されました。

getActiveSpreadsheetとgetActiveSheetの使い方

GASでgetActiveSpreadsheetとgetActiveSheetを使用するには、
下記の順番で記述していきます。

① getActiveSpreadsheet()でアクティブなスプレッドシートを取得する
②上で取得したスプレッドシートからgetActiveSheetでシートを読み込む

getActiveSpreadsheetとgetActiveSheetサンプルコード

スポンサーリンク
function sample() {
  //アクティブな「スプレッドシート」を取得
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  //アクティブな「シート」を取得
  var sheet = ss.getActiveSheet();
}

getActiveSpreadsheetとgetActiveSheetをまとめて1行で書くこともできます。

function sample() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
}

最後に「;」(セミコロン)で1文が完了と見なされるので、
「;」を入れずに改行することもできます。

function sample() {
  var sheet = SpreadsheetApp
    .getActiveSpreadsheet()
    .getActiveSheet();
}

getActive以外のスプレッドシートの取得方法

ここまではアクティブなスプレッドシートを取得するための方法でしたが、
アクティブ以外のスプレッドシートの取得の方法は、
・スプレッドシートのIDで取得
・スプレッドシートのURLで取得

シートの取得には、
・シート名を指定して取得
・シートナンバー(左から何番目か)を指定して取得

など、様々な取得の方法があります。

また、スプレッドシート内のセルにIDやURLを入力して、
セルから値を読み込んで取得するという方法もあり、
複数のスプレッドシートを運用する時にとても便利です。

スプレッドシートの詳しい取得方法、IDの取得方法や、
スプレッドシート内のセルから読み込んで取得する方法などは、
こちらの記事で詳しく解説しています。
スプレッドシートの取得・ダウンロードして使えるデータ有り

サンプルデータを公開していますので、
ダウンロードして実際に動かしてみてください。

このサイトでは、実際に動かして学べるように、
記事内でなるべくダウンロードして使えるデータを載せています。

応用編としてタスク管理シートなどもありますので、
参考にしていただければ幸いです。
スプレッドシートを活用したタスク管理シート配布、進捗管理

 

ありがとうございました!

スポンサーリンク

コメント

タイトルとURLをコピーしました