2017-09-12 20 views
0

我有一個使用取保存一些信息到電子表格的自定義功能。問題是,它意味着在電子表格上多次使用,從各種頁面中獲取。隨着使用量的增加,每次打開電子表格時不必要地重新獲取信息將變得越來越成爲一個問題。每次打開電子表格時都要停止重新計算自定義函數?

有什麼辦法避免這種默認行爲?我仍然希望它在每次編輯單元格時重新計算,即使參數完全相同。有沒有辦法判斷它是手動編輯還是自動重新計算,還是完全禁用該行爲?

+0

可你只是刪除自定義功能,並通過掛接到一個腳本功能onEdit觸發執行你的計算和數據收集,並返回結果給編輯的單元格。 – Cooper

+0

@Cooper是的,我已經獲取數據時使用過去那種方法,但我希望能找到,讓我使它可作爲自定義函數的方法。 – Azk

回答

1

是否有辦法判斷它是手動編輯還是自動重新計算,還是完全禁用該行爲?

沒有,沒有。

一種可能的解決方法是讓在電子表格中的一些細胞「開關」:比方說,如果單元格A1具有「更新」,則自定義函數重新計算正常;否則他們什麼也不做。該單元格(A1)可以通過下拉菜單進行數據驗證,以便在狀態之間輕鬆切換。 自定義功能將被修改,以包括以下內容:

function customFunction(...) { 
    var currentStatus = SpreadsheetApp.getActiveSheet().getRange("A1").getValue(); 
    if (currentStatus != "Update") { 
    return; 
    } 
    // the rest of function 
相關問題