ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
【GAS】シートをまとめて削除する方法(Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
- コピペでシート一覧が手軽に作成できます。
- シート一覧から削除するシートを指定し一気に削除することができます。
なので、サクッとマスターして
と答えてあげてください。
動画はこちら
シートはこちら
*クリックすることでシートが開きます。(コピーしてお使いください)
スクリプト
/**
* チェックされたシートを削除する
*/
function delcksheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet()
const sh = ss.getActiveSheet()
const vals = sh.getRange("A2:B34").getValues()
console.log(vals.length)
for (let i = 0; i < vals.length; i++) {
if (vals[i][0]) { //チェックボックスがtrue?
console.log(vals[i][1]) //削除するシート名
let delsh = ss.getSheetByName(vals[i][1])
ss.deleteSheet(delsh)
}
}
}
//リンク付きシート一覧の作成
function makehyperlinkX() {
const ss = SpreadsheetApp.getActiveSpreadsheet()
const url = ss.getUrl()
const sheets = ss.getSheets() //すべてのシートを取得
const hlinks = sheets.map(sheet => {
const sheeturl = `${url}#gid=${sheet.getSheetId()}`
const hlink = `=HYPERLINK("${sheeturl}","${sheet.getName()}")`
return ([hlink])
})
console.log(hlinks)
ss.getSheetByName("シート143").getRange(2, 2, hlinks.length).setValues(hlinks)
}
ポイント
シート一覧の作成
【GAS】リンク付き(目次的な)シート一覧を作成する方法(Gスプレッドシート)
シート一覧の読み込み
const vals = sh.getRange("A2:B34").getValues()
valsの中身はこんなふうに入っているのでtrueの行のみ処理します。
if (vals[i][0]) { //チェックボックスがtrue?
シートの削除
deleteSheet(シート名)
最後までご覧いただきありがとうございます。
つぎはこちら
【GAS】2日前より古いシート名のシートを一気に削除する方法
コメント