2014-11-01 109 views
0

爲什麼時間驅動觸發器不會調用任何SpreadsheetApp.getUiBrowser.xxx()函數?Google Apps腳本 - 時間驅動觸發器未執行任何SpreadsheetApp.getUi函數

如果我手動播放該函數,則會執行這些行,但使用基於時間的觸發器時,將調用該函數,除了對上述任何調用之外,將執行所有其他行。

我想要一個時間驅動的觸發器,在電子表格上根據時間頻率設置顯示警報。

下面是一個簡單的代碼, 以時間爲驅動的觸發器集以每分鐘運行爲例。試用了各種其他時間設置。

function InputTime() 
{ 

Logger.log("This code ran");  // This works fine. 

SpreadsheetApp.getUi().alert("Warning 1");  // Does not work 

this.SpreadsheetApp.getUi().alert("warning 2"); // Does not work 

Browser.msgBox("warning 3");      // Does not work 
} 

任何想法?此外,通過首先獲取工作表的ID和工作表名稱(如Sergi所建議的那樣)修改工作表中的值,可以很好地編輯工作表。同樣有什麼辦法可以將警報通知綁定到特定的電子表格?

回答

1

時間驅動觸發器函數無法與Ui交互,它們在自己的範圍內運行,與會話無關。

這是預期的行爲,你無能爲力。

+0

只是重申..一個時間驅動的腳本運行在給定的時間,如果你沒有登錄?或者如果有多個用戶呢?應用程序腳本不支持這種用法(如果有人,則顯示任何人在線的彈出窗口)。要連接用戶的會話並向他顯示對話框,必須以「會話相關」方式觸發腳本。那將是:菜單,按鈕,編輯或打開事件。或者直接從腳本編輯器,就像你正在做的那樣。 – 2014-11-01 23:01:35

+0

謝謝Serge和Henrique。 – 2014-12-04 14:14:32