スプレッドシートの特定のシートを選択する、すなわち、アクティブにするには、SpreadsheetApp
クラスの setActiveSheet メソッドを用いる。
【構文】
SpreadsheetApp.setActiveSheet(sheet)
sheet : Sheet 型。選択したいシートオブジェクトを指定する。
シート1~5をもつアクティブなスプレッドシートについて、シート1をアクティブな状態からシート3
を選択するコードを以下に記す。
【例1】
function SetActiveSheet1() {
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = objSpreadsheet.getSheetByName("シート3");
SpreadsheetApp.setActiveSheet(objSheet);
Browser.msgBox(objSheet.getName() + "へ移動しました。");
}
上記コードを実行すると、シート3がアクティブになった後、
「シート3へ移動しました。」
とメッセージが表示される。
因みに、アクティブでないスプレッドシートのシートを選択するようにコードを書き換えてみたが、
処理が正常に実行されなかった。アクティブなスプレッドシートのシートにのみ有効なメソッド
なのかも知れない(要確認)。
スプレッドシート内の特定のシートをアクティブにするもうひとつの方法として、Spreadsheet
クラスの setActiveSheet メソッドを用いるやり方がある。個人的には、こちらの方が正統な
気がする。
【構文】
SpreadsheetObject.setActiveSheet(sheet)
sheet : Sheet 型。選択したいシートオブジェクトを指定する。
上の例と同様、シート3をアクティブにする例をいかに記す。
【例2】
function SetActiveSheet2() {
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = objSpreadsheet.getSheetByName("シート3");
objSpreadsheet.setActiveSheet(objSheet);
Browser.msgBox(objSheet.getName() + "へ移動しました。");
}
こちらのやり方でも、アクティブスプレッドシートでないものに対しては、エラーになってしまう。
0 件のコメント:
コメントを投稿