0
「スプレッドシートの名前を変更しました」イベントを聴くことはできますか?アプリスクリプトのスプレッドシートリネームイベント
対応するevent objectは、「OTHER」と等しいchangeTypeを持ちます。変更がシートの名前を変更するときに機能しますが、スプレッドシート全体の名前が変更されても機能しません。
「スプレッドシートの名前を変更しました」イベントを聴くことはできますか?アプリスクリプトのスプレッドシートリネームイベント
対応するevent objectは、「OTHER」と等しいchangeTypeを持ちます。変更がシートの名前を変更するときに機能しますが、スプレッドシート全体の名前が変更されても機能しません。
シートの名前変更では機能を実行できません。スプレッドシートにバインドされたスクリプトから実行できますが、いくつかのプロパティを設定し、トリガをカスケードする必要があります。これは本当に難しい作業例です。
// Globals
var ss = SpreadsheetApp.getActiveSpreadsheet();
var name = ss.getName();
// Each edit, check for a rename
function onEdit() {
// Grab the stored name from opening
var setName = PropertiesService.getDocumentProperties().getProperty("name");
// Get the current name of the sheet.
var currentName = SpreadsheetApp.getActiveSpreadsheet().getName();
// If it doesn't match, there's been a rename. Log and reset the stored name.
if(setName != currentName) {
Logger.log("Renamed from " + setName + " to " + currentName);
PropertiesService.getDocumentProperties().setProperty("name", currentName)
// do something else
}
}
// Store the name when the sheet is opened
function onOpen() {
var currentName = PropertiesService.getDocumentProperties().setProperty("name", name);
Logger.log(currentName.getProperty("name"));
}