2015-01-07 66 views
1

我有一個綁定腳本簡單的電子表格如下谷歌Appscript - 功能無法找到

var document = SpreadsheetApp.getActive() 

function onOpen() { 

    var menuEntries = []; 
    menuEntries.push({name:'Archive',functionName:'startArchive'}) 
    document.addMenu("Custom", menuEntries) 
} 

function startArchive() { 

    Logger.log("Will Start Archive") 

} 

所有腳本綁定到電子表格。

當我重新加載電子表格時,我可以看到具有「存檔」的自定義對話框菜單,因爲它是下拉菜單。當我點擊存檔,而不是作爲

script function startArchive could not be found 

我搜索過類似的問題,呼籲「startArchive()」函數,我得到的錯誤,但用戶都面臨着這樣的問題,當他們想打電話從一個功能庫,但不在綁定的腳本中。

我無法弄清楚爲什麼我找不到這個簡單功能的錯誤。

謝謝

回答

1

您的代碼是正確的,並在新工作表中正常工作。在極少數情況下,我看到了與我自己的代碼類似的行爲,解決辦法是等待一段時間,或者將代碼複製到新工作表中並從那裏開始工作。

根據我的經驗,當我複製並粘貼現有腳本頂部的全新腳本時,會出現此問題,但我已經看到它的發生沒有明確的理由。

我對這個問題的原因猜測是,有時腳本和表單不知何故不同步。由於Google的基礎架構廣泛分佈在許多服務器和數據中心,因此有時候執行的代碼存儲在與您在編輯器中看到的代碼不同的地方是有意義的。過去3年,我一直在使用Google腳本在我的工作中每天使用Apps腳本,而且我發現這種情況發生的次數不到總數的10倍。

-1

我剛剛遇到了這個問題 - 確保在運行代碼之前將代碼保存在代碼中!

0

剛剛遇到了這個問題,因爲我也有一個電子表格綁定腳本,在正常工作好幾天之後就會拋出同樣的錯誤。

爲了解決這個問題,我重新命名了將函數引發到其他函數中的「函數」,比如「function1」,保存了它並以新名稱工作。

之後,我將發生錯誤的函數的名稱從「function1」更改回「function」,再次點擊保存按鈕,然後voilá腳本再次開始工作。