LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Friday, March 1, 2019

Google Apps Scriptでスクリプトのプロパティに配列を入れたい


スクリプトのプロパティに配列を入れようとしたら [Ljava.lang.Object;@69fc7b91 のようになり、JSON文字列にしてやるとうまくいったので備忘録として書き残しておきます。


やりたいこと

こういう風にスクリプトのプロパティに配列を入れたい



スクリプトのプロパティはここから開けます

ファイル > プロジェクトのプロパティ


JSON文字列にしないとこのように値が [Ljava.lang.Object;@69fc7b91 になる


以下のコード.gsのように
setする時は、JSON.stringify(array)
getする時は、JSON.parse(array)
にしてやるとうまくいきました。


コード.gs
function setArray() {
  var array = ['はれ', 'あめ', 'ゆき'];
  array = JSON.stringify(array);
  setProp('天気', array);
}

function getArray() {
  var key = '天気';
  var array = getProp(key);
  array = JSON.parse(array);
  Logger.log(array);
}

var scriptProp = PropertiesService.getScriptProperties();

function getProp(key) {
  return scriptProp.getProperty(key);
}

function setProp(key, value) {
  scriptProp.setProperty(key, value);
}

意訳
この機能がやること
配列を作る
JSON文字列に変換して
スクリプトのプロパティに入れます


この機能がやること
keyの値を決めて
スクリプトのプロパティから値を取得して
JSONをオブジェクトに変換して
ログに出す


スクリプトのプロパティを取得する

この機能がやること
スクリプトのプロパティにkeyを渡してその値を返す


この機能がやること
スクリプトのプロパティにkeyと値を渡して保存する



setArray()を実行してスクリプトのプロパティに配列を保存する
getArray()でその配列を取り出す



Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...