現在開いているシート以外の全てのシートを削除するGoogle Apps Scriptです。自動的にシートを大量生成したけどやり直したいときなどに。
特にありません。今お使いのスプレッドシートに組み込めます。
サンプルとして、適当にシートを量産してみました。
上のメニューに有る「スクリプト実行」から「アクティブシート以外の全シートを削除」を実行します。
削除を実行してもよいのか聞かれます。問題なければOKを押します。
選択中だった「シート29」以外のシートが全て消え去りました!
/**
* このスクリプトの説明、使い方はこちら。
* https://myfunc.jp/items/00062/index.html
*/
function onOpen() {
// スプレッドシートを開いたときに実行される関数
// UIの取得
const ui = SpreadsheetApp.getUi()
// メニューの表示名
const menu = ui.createMenu('スクリプト実行');
// メニューに追加するボタン
menu.addItem('アクティブシート以外の全シートを削除', 'delete_non_active_sheets');
// メニューを画面に追加する
menu.addToUi();
}
function delete_non_active_sheets() {
// UIを取得
const ui = SpreadsheetApp.getUi();
// 現在開いているスプレッドシートを取得
const ss = SpreadsheetApp.getActiveSpreadsheet();
// 実行を確認する
const response = ui.alert('アクティブシート以外のシートをすべて削除します。\nよろしいですか?', ui.ButtonSet.OK_CANCEL);
// キャンセルが押されたらスクリプトを終了する
if (response == ui.Button.CANCEL) {
return;
}
// スプレッドシートに存在するすべてのシートを取得
const sheets = ss.getSheets();
// 現在開いているアクティブなシートの名前を取得する
const active_sheet_name = ss.getActiveSheet().getSheetName();
// ループで1シートずつ処理していく
for (let i = 0; i < sheets.length; i++) {
// シートの名前を取得する
let sheet_name = sheets[i].getSheetName();
// シート名がアクティブなシート名と一致しなければ、削除を実行する
if(sheet_name != active_sheet_name){
ss.deleteSheet(sheets[i]);
}
}
}
スプレッドシート内の1シートを、指定した名前でコピーするGoogle Apps Scriptです。シート名が重複した場合はスキップします。
いま開いているシート以外のすべてのシートを非表示にするGoogle Apps Scriptです。あまり見られたくない作業用シートがたくさんあるときにどうぞ。
全てのシートの行固定、列固定を解除するGoogle Apps Scriptです。ニーズはあんまりなさそうですが、思いつきで作ってみました。
指定したフォルダにあるスプレッドシートをすべて連結するGoogle Apps Scriptです。生徒・受講者の課題をチェックするときに1ファイルずつ開くのは面倒で、1つのスプレッドシート(ブック)にまとめたくなったので作りました。
今開いているシートを先頭(一番左)や、最後(一番右)に移動するGoogle Apps Scriptです。シートが増えすぎてドラッグが大変なときにどうぞ。