0
function timestamp() { 
return new Date() 
} 

功能重新計算的每次我打開表。我只希望它在編輯時重新計算。 我試圖搞砸「onEdit」,但我永遠無法得到它的工作。我也嘗試了「當前的項目觸發器」,但似乎沒有解決問題。我爲這個問題的簡單性而道歉,我根本無法找到或找出答案。 谷歌片腳本 https://docs.google.com/spreadsheets/d/1-Ix9LUmMYNqWnz0mB2PAg9ocJ-TwszqHRbqxAchcxhc/edit#gid=0功能重新計算每次我打開工作表的時候,我只希望它重新計算編輯

+0

您正在使用什麼編程語言? – Stibu

+0

對不起,我沒有澄清,這是一個谷歌牀單腳本 – Beukenator

+0

這是一個用Google Apps腳本編寫的自定義函數。通過在電子表格單元格中輸入= timestamp()來使用此函數,對嗎?爲了改變這一個onEdit你將不得不在你想爲WACH編輯什麼表的代碼,什麼範圍,其中的日期應寫,等... – JPV

回答

0

它看起來(基於問題的評論),就像你已經創建了一個自定義公式,並把它放在一個池。如果是這種情況(這意味着你實際上在單元格中有= timestamp()),那麼它總是會在打開和編輯時重新計算。

這只是如何公式(包括通用的標準和自定義的)工作。當您在電子表格中開始使用太多公式時,您會注意到這一點,並且它開始變慢,甚至無法正確加載。

如果你想要的東西,只有在編輯更新,你必須編寫正是這麼做的一個函數,然後設置調用它在編輯的觸發器。

例如,該功能將擺在當前電子表格的第一張A1單元格中的當前日期:

function setTimestamp() 
{ 
    var thisSS = SpreadsheetApp.getActiveSpreadsheet(); 
    var firstSheet = thisSS.getSheets()[0]; 
    var firstCell = firstSheet.getRange(1, 1); 

    firstCell.setValue(new Date()); 
} 

,當你把它這種功能將只運行,所以你可以設置觸發任何你想要的。顯然,你必須弄清楚如何選擇你想要日期出現的單元格。

+0

這不會工作。看到我在這個問題上的意見。 –

+0

@ZManMandel,我不知道我明白。我創造了這個電子表格(https://docs.google.com/spreadsheets/d/1u2x4mMlGxhubGG58V0zsToXDDiWHCZadWaCYWLMulqA/edit?usp=sharing),它似乎是工作。你可以看一下嗎? – mrfinnsmith

+0

@villager,對於我所處的情況,這可能會變得非常混亂。我將分享問題的示例鏈接。 – Beukenator