earthpg:GAS専門のプログラミングスクール

GASでアクティブシートを操作しよう!取得・指定・移動・変更の基本まとめ

うっ… GAS で操作してるシート、今どれが「アクティブ」かわかんないよぉ…!
猫男
猫男
catman
catman
ふふふ、catmanがスプレッドシートの世界もナビゲートしてやろう!

アクティブシートとは?

Google Apps Script(GAS)における「アクティブシート」とは、今操作の対象になっているシートのこと。

エクセルやスプレッドシートで今表示されているシートってありますよね?あれです。

なるほど、今フォーカスが当たってるシートってことか!
猫男
猫男

GAS アクティブシートの取得方法

今のアクティブシートを取得するには、次のコードを使います:

const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
Logger.log(sheet.getName()); 

これで、今操作中のシート名をログ出力できます。

GAS アクティブシートの指定・変更方法

特定の名前のシートをアクティブにしたい場合は、こう書きます:

const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("売上");
sheet.activate(); 

「売上」という名前のシートをアクティブに(= 表示状態に)切り替えます。

おぉ、別のシートに「移動」できた!
猫男
猫男

GAS アクティブシートの移動(別のシートへ切り替え)

複数のシートをループして、条件に合うシートをアクティブにするなんてこともできます!

const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (const s of sheets) {
 if (s.getName().includes("2024")) {
 s.activate();
 break; 
   } 
} 

「2024」という名前を含むシートに、自動で切り替えます。

まとめ:アクティブシート操作は超重要!

  • getActiveSheet():現在のアクティブシートを取得
  • getSheetByName()activate():任意のシートに変更
  • ループや条件分岐で柔軟な移動も可能
これでスプレッドシートの操作も思いのままだね!
猫男
猫男
catman
catman
ふっ…これが「アクティブシート術」さ。またひとつ成長したな…