🆙CS複数更新

キャラクターシートが増えてくると、シートを一枚一枚更新するのは大変なので、一括で複数更新したい。そのためのGASです。

<aside> ⚠️

処理するCSが多いとスプレッドシートの処理時間制限を超えるため注意してください。その際はIDリストに記載する量を減らし、分割して実行してください。

</aside>

準備  シートを追加し、キャラクターシートのIDを記載する。  シート名は「IDリスト」としていますが、ソースコードで指定する名前と一致していばOK。  ソースコードで指定しているので、A列に記載してください。

シート追加例

シート追加例

ソースコード全体

// CSのIDを記載したシート名
const csIDsheet = "IDリスト";

function CSupdate() {
  let activesheet = SpreadsheetApp.getActiveSpreadsheet();
  // SpreadCS.gs定義用
  sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

  // シート名を指定してシート取得
  let s1 = activesheet.getSheetByName(csIDsheet);
  // シートのデータを配列で取得
  let list2D = s1.getRange(1,1,s1.getLastRow()).getValues();
  let list1D = list2D.flat();
  console.log(list1D);

  while(list1D.length>0){
    let csID = list1D.shift();
    console.log("ID:"+csID+" start");
    if(Number.isInteger(csID)){
      converter(csID);
      console.log("ID:"+csID+" complete");
      }
    }
  // メッセージ
  Browser.msgBox("コンバートが完了しました。"); 
}

変更する部分

”xxx”:xxxをシート名に合わせて適宜変更してください。

// CSのIDを記載したシート名
const csIDsheet = "IDリスト";

新しく『CSupdate.gs』とでも名前を付けて保存し、実行してください。