Google apps scriptでスプレッドシート内の指定したシートをアクティブにする

Google apps scriptでスプレッドシート内の指定したシートをアクティブにするには

  • setActiveSheet(sheet)

を使う。

・setActiveSheet(sheet)
指定されたシートをスプレッドシート内のアクティブシートに設定します。

シートが別のスプレッドシートに属していない場合、スプレッドシートのUIには選択したシートが表示されます。

パラメーター

タイプ 説明
sheet Sheet アクティブシートとして設定するシート

戻る
Sheet – アクティブなシート

参照:spreadsheet/spreadsheet#setActiveSheet(Sheet)

Google apps scriptでスプレッドシート内の指定したシートをアクティブにするスクリプト

アクティブにしたいシート数を変数numへ格納。

ss.setActiveSheet(ss.getSheets()[num]);

としてアクティブシートに移動させるスクリプト。

/*スプレッドシート内の指定したシートをアクティブにする*/
function activesheet() {

//スプレッドシートAppを呼出し
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブシートを取得
var sht = ss.getActiveSheet();
//アクティブにしたいシート数(0が1シート目)
var num = 2

//指定シートをアクティブに
ss.setActiveSheet(ss.getSheets()[num]);
//アクティブにしたシート名をshtnameに格納
var shtno = sht.getName().length-1;
Logger.log(shtno);

//メッセージボックスにアクティブにしたシート名を表示
Browser.msgBox("シート"+shtno+"をアクティブにしました");
  
}


/*元のシートに戻る*/
function activesheet2() {

//スプレッドシートAppを呼出し
var ss = SpreadsheetApp.getActiveSpreadsheet();
//アクティブシートを取得
var sht = ss.getActiveSheet();
//アクティブにしたいシート数(0が1シート目)
var num = 0

//指定シートをアクティブに
ss.setActiveSheet(ss.getSheets()[num]);
//アクティブにしたシート名をshtnameに格納
var shtno = sht.getName().length-3;
Logger.log(shtno);

//メッセージボックスにアクティブにしたシート名を表示
Browser.msgBox("シート"+shtno+"をアクティブにしました");
  
  
}

 

Google apps scriptでスプレッドシート内の指定したシートをアクティブにするsample

まとめ

setActiveSheet(sheet)

もしシート3まであるドキュメントでシート2を選択するなら

.setActiveSheet(spreadsheet.getSheets()[1])

となる。この時、0がシート1ということに注意する。

例として.setActiveSheet(spreadsheet.getSheets()[0])となっているがもうちょっと簡単なアクティブシートの書き方を考えるべき。

分かったら追記。

>>スプレッドシートのシートの名前を変更する

>>Google apps scriptでスプレッドシートを取得する

>>スプレッドシートのURLを取得する

>>スプレッドシートのIDを取得する

>>スプレッドシートの全てのシートを取得する