LANG SELRCT

コードを書く場所についてはこちら

2018年3月25日日曜日

スプレッドシートのセルにノートを入力する


ノートとは
  • セルにメモを残せる
  • 入力されているとセルの右上に黒い三角マークが出る
  • ポインターを合わせると入力されたテキストが表示される


メニューからノートを入力する場合は
挿入 > メモ
から入力できる



コード.gs
var ss_url = 'Spreadsheet_URL';

function setNote() {
  var ss = SpreadsheetApp.openByUrl(ss_url);
  var sh_id = 0;
  var sheet = get_sheet(ss, sh_id);
  var range = sheet.getRange("A1");
  value = "NOTE_A1"
  range.setNote(value);
}

function setNotes() {
  var ss = SpreadsheetApp.openByUrl(ss_url);
  var sh_id = 0;
  var sheet = get_sheet(ss, sh_id);
  var range = sheet.getRange("A1:B2");  
  var values = [
    ["NOTE_A1", "NOTE_B1"],
    ["NOTE_A2", "NOTE_B2"]
  ];
  range.setNotes(values);
}

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;
}
意訳
スプレッドシートのURL

この機能がやること
スプレッドシートを開く
シートのidを決めて
ss_urlとsh_idを渡して対象のシートを取得する
A1を取得して
入力する値を決めて
ノートに入力する


この機能がやること
スプレッドシートを開く
シートのidを決めて
ss_urlとsh_idを渡して対象のシートを取得する
入力する範囲を取得して
入力する値を決めて
A1のノートの値, B1のノートの値, 
A2のノートの値, B2のノートの値

それぞれのノートに値を入力する


この機能がやること
対象のスプレッドシートのシートをすべて取得して
シートの数だけ以下を繰り返す
シートのidがsh_idなら
for文から抜ける


スプレッドシートでシートをを見つけて
返す



setNote()を実行するとA1にノートが入力されます

setNotes()を実行するとA1:B2にノートが入力されます