<aside> <img src="/icons/drafts_lightgray.svg" alt="/icons/drafts_lightgray.svg" width="40px" />
<aside> 🆗
公開中
</aside>
<aside> 🚧
工事中
</aside>
</aside>
<aside>
キャラクターシートが増えてくると、シートを一枚一枚削除するのは大変なので、一括で削除したい。そのためのGASです。
配布されているシートの初期構成

スプレッドシート構成
<aside>
ソースコード全体
//削除したくないシート
const defnotDelSheet = ["※コンバートシート","※CSテンプレート","※変換先(デフォルト)","※変換先(グリーン)","※変換先(ダーク)","(CS例1)","(CS例2)","▼INDEX","▼INDEX(ダーク)"];
const addnotDelSheet = ["削除したくないシート"];
const notDelSheet = defnotDelSheet + addnotDelSheet;
function deleteCS(){
//スプレッドシートにある全てのシートを配列として取得
let sheetData = SpreadsheetApp.getActiveSpreadsheet().getSheets();
let delsheet = SpreadsheetApp.getActiveSpreadsheet();
//forループでシートを削除する
for(var i=0;i<sheetData.length;i++){
//削除対象から除外するシートにヒットした場合は、削除処理は行わず、フラグを立てる
if(notDelSheet.indexOf(sheetData[i].getSheetName()) != -1){
flag = 1;
}
//削除除外シートではない場合は、削除処理を実行する
else{
delsheet.deleteSheet(sheetData[i]);
}
}
}
</aside>
<aside>
変更する部分
defnotDelSheetでは配布時の初期シート名を記載しています。
”xxx”:xxxをシート名に合わせて適宜変更してください。
//削除したくないシート
const defnotDelSheet = ["※コンバートシート","※CSテンプレート","※変換先(デフォルト)","※変換先(グリーン)","※変換先(ダーク)","(CS例1)","(CS例2)","▼INDEX","▼INDEX(ダーク)"];
const addnotDelSheet = ["削除したくないシート"];
const notDelSheet = defnotDelSheet + addnotDelSheet;
新しく『DelSheet.gs』とでも名前を付けて保存し、実行してください。
削除しないシートをスプレッドシートで定義してもいいんですが、面倒なので今のところはしていません。
<aside>
参考URL
https://auto-worker.com/blog/?p=1329
削除シートにフラグたててますが、何も処理してないので特に意味はないです。
</aside>
</aside>
</aside>
<aside>
キャラクターシートが増えてくると、シートを一枚一枚更新するのは大変なので、一括で複数更新したい。そのための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』とでも名前を付けて保存し、実行してください。
</aside>
<aside> 🚧
</aside>
参考URL https://qiita.com/HiroIwasaki/items/2f84215e22adc4125b5d
<aside> 🚧
</aside>
<aside> 🆕