私は現在Google Apps Scriptアプリケーションを開発しており、OnOpen-FunctionでUIを追加したいと考えています。しかし、問題は、OnOpen-FunctionがAddonまたはSpreadsheetまたはDoc-Fileのバインドされたスクリプトとしてのみ機能していることです。自動でGoogle Apps Script UIを開きます
私の質問は、新しい追加ファイル用のスタンドアロンアプリケーションとしてApps Script Codeをどのように実行できますか?
時間ベースのトリガーで試してみましたが、アプリスクリプトで作成するトリガーが多すぎます。新たに追加されたファイルに対してonOpen-Functionをトリガーする良い方法はありますか?ここで
は私のコードは、これまでのところです:
function tim(){
ScriptApp.newTrigger("createSpreadsheetEditTrigger")
.timeBased()
.everyMinutes(1)
.create();
}
function createSpreadsheetEditTrigger() {
var files = DriveApp.getFoldersByName("Development Lab").next().getFoldersByName("AppsScriptProgramm").next().getFoldersByName("Excel").next().getFiles();
while (files.hasNext()){
file = files.next();
ScriptApp.newTrigger('onOpen')
.forSpreadsheet(SpreadsheetApp.openById(file.getId()))
.onOpen()
.create();
}
}
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Metadata')
.addItem('Open', 'openDialog')
.addToUi();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('Index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setWidth(900)
.setHeight(400);
SpreadsheetApp.getUi()
.showModalDialog(html, 'Metadaten zum Dokument: '+ SpreadsheetApp.getActive().getName());
}
これをonOpenと呼んではいけません。すなわちonTriggerOpen –