Google Apps Script(GAS)を使用してスプレッドシートを操作する際、特定のスプレッドシートを開く方法は重要なテクニックです。
スプレッドシートのIDやURL、ファイル名、使用中の状態かどうかといった様々なステータスを基にスプレッドシートを開きます。

関数 | 使いどころ | 使用例 |
---|---|---|
getActiveSpreadsheet() | スクリプトが実行されているスプレッドシートを操作する場合に使用 | データの取得や変更、シート操作など |
openById(id) | スプレッドシートのIDを知っている場合に使用 | 特定のスプレッドシートをスクリプト内で操作 |
openByUrl(url) | スプレッドシートのURLを知っている場合に使用 | 提供されたURLからスプレッドシートを操作 |
open() | Drive上に保存されているファイルを指定してスプレッドシートを開く場合に使用 | 特定のファイルからスプレッドシートを操作 |
getActiveSpreadsheet():現在アクティブなスプレッドシートを開く

SpreadsheetApp.getActiveSpreadsheet() 関数は、Google Apps Script(GAS)内で現在アクティブなスプレッドシートのシートを取得します。
この関数を使用することで、スクリプト内で直接操作対象となるシートを取得できます。
具体例
// 現在アクティブなスプレッドシートを取得
let activeSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
getActiveSpreadsheet() 関数は、スクリプトが現在アクティブに操作しているスプレッドシートを取得します。
スプレッドシートを特定する際に頻繁に使用します!
openById(id):指定のスプレッドシートをIDで開く

GASでは、SpreadsheetApp.openById(id) 関数を使用して、特定のスプレッドシートのIDを指定してシートを開くことができます。
これにより、スクリプト内で目的のスプレッドシートを直接操作できます。
具体例
let spreadsheetId = "ここにあなたのスプレッドシートのIDを入力";
let sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName("Sheet1");
このスクリプトでは、指定したスプレッドシートのIDを使用してスプレッドシート全体を開き、その中からgetSheetByNameで特定のシート(ここでは “Sheet1″)を取得しています。
これにより、特定のシート内での操作を容易に行うことができます。
スプレッドシート全体を開いてから目的のシートにアクセスしたいときに使用しましょう!
openByUrl(url):指定のスプレッドシートのURLで開く

SpreadsheetApp.openByUrl(url) 関数は、指定したスプレッドシートのURLを使用してスプレッドシートを開きます。
スプレッドシートのURLは、ブラウザのアドレスバーに表示されているものです。
GASでこの関数を使用することで、スクリプト内で特定のスプレッドシートにアクセスできます。
具体例
// スプレッドシートのURLを指定
let spreadsheetUrl = "https://docs.google.com/spreadsheets/d/your_spreadsheet_id_here/edit";
// URLを使用してスプレッドシートを開く
let spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
openByUrl(url) 関数は、指定したURLのスプレッドシートを開きます。
この例では、指定のURLからスプレッドシートを開いて変数に格納しています。
これにより、特定のスプレッドシートを直接操作できるようになります。
スプレッドシートのURLを知っている場合に便利な方法です。
open():ファイルを指定してスプレッドシートを開く
open() 関数は、指定されたファイル(スプレッドシート)を開きます。
この関数を使用することで、ファイルを直接指定してスプレッドシートを開くことができます。
スプレッドシートのIDやURLを使用せずに、直接ファイルを指定して開くことができる点が特徴です。
具体例
// ファイルを指定してスプレッドシートを開く
let file = DriveApp.getFileById("your_file_id_here");
let spreadsheet = SpreadsheetApp.open(file);
open() 関数は、指定されたファイルを開いてその中のスプレッドシートを取得します。
この例では、DriveApp.getFileById() 関数を使用してファイルを取得し、そのファイルを open() 関数で開いてスプレッドシートを取得しています。
ファイル単位での操作が必要な場合に使用しましょう!
最後に
GoogleAppsScript(GAS)で使える、getActiveSpreadsheet()、openById(id)、openByUrl(url)、およびopen() という4つの関数を紹介しました。
スプレッドシートを開く際にどの関数を選択するかは、スクリプトの目的や状況に応じて異なります。
アクティブなスプレッドシートを操作するか、特定のIDやURLを使うか、あるいはDrive上のファイルから開くかによって、最適な関数を選択してください。
これらの関数を正しく活用することで、Google Apps Scriptを使ったスプレッドシート操作がスムーズに行えることでしょう。

