Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2018年2月16日金曜日

シートIDを渡してシートを取得する


シートIDを指定してそのシートを取得するコードの例です

シートIDについて

以下のコード.gsを実行すると指定したシートのA1セルに hello が入力されます



コード.gs
function set_value(){
 var sh_id = SHEET_ID;
 var sh = get_sheet(sh_id);
 var range = sh.getRange("A1");
 range.setValue("hello")
}

function get_sheet(sh_id) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var shs = ss.getSheets();
  for (var i = 0; i < shs.length; i++) {
    if (shs[i].getSheetId() == sh_id) {
      break;
    }
  }
  var sh = ss.getSheets()[i];
  return sh;
}

意訳
この機能がやること
シートIDを指定して
get_sheet()に渡してシートを取得して
セルを指定して
helloを入力する


この機能がやること
現在開いているスプレッドシートを取得して
シートをすべて取得して
シートの数だけ以下を繰り返す
シートのIDが渡されたシートIDなら
for文から抜ける


対象のシートを取得して
返す



Activesheet以外のシートを取得する場合


コード.gs
function set_value(){
 var ss_url = "スプレッドシートのURL";
 var ss = SpreadsheetApp.openByUrl(ss_url);
 var sh_id = 対象のシートのID;
 var sh = get_sheet(ss, sh_id);
 var range = sh.getRange("A1");
 range.setValue("hello")
}

function get_sheet(ss, sh_id) {
  var shs = ss.getSheets();
  for (var i = 0; i < shs.length; i++) {
    if (shs[i].getSheetId() == sh_id) {
      break;
    }
  }
  var sh = ss.getSheets()[i];
  return sh;
}


関連記事

シートIDを指定してデータ入力する


Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...