2016-07-28 163 views
1

我正在嘗試爲Google Spreadsheets創建代碼。在VBA代碼中,它非常簡單。我的目標是,當一個特定的單元格被填滿時,另一個單元格顯示完成的日期和時間。以編程方式添加時間戳

在VBA:

Function DateTime() 
    DateTime = NOW 
End Function 
+0

哪個單元都在監控,哪一個你想要的日期? 「新的日期()」將在JS中給出當前日期/時間。 –

+0

目前無法僅替換新的Date()。 –

+0

[在Google電子表格中編輯另一個單元格時自動在一個單元格中添加數據]的可能副本(http://stackoverflow.com/questions/14865134/to-add-data-in-one-cell-automatically-when-另一個單元格是在谷歌編輯中) –

回答

1

根據您最近的評論,指出要調用從谷歌表前端一個custom function,你會在你的腳本編輯器(後端)需要的是:

function timeStamp() { 
    return new Date(); 
} 

然後,您可以調用從一個公式,函數在您的表格,非常相似,你寫的已經:

=IF(ISBLANK(A1), "", timeStamp()) 
+0

太棒了!有用!謝謝! –

0

這是代碼,這將有助於你出你想要達到的目的。

下面的代碼會將日期添加到要輸入值的任何字段的下一列中。

//onEdit is the default "on edit event handler" provided by google app script 
function onEdit(e){ 
    var spreadSheet = e.source; 
    var sheet = spreadSheet.getActiveSheet(); 
    var range = e.range; 
    //only add the date in the next column if value in cell is not empty 
    if(range.getValue() != ""){ 
    var col = range.getColumn(); 
    var row = range.getRow(); 
    //get the very next column 
    var newRange = sheet.getRange(row, col + 1); 
    newRange.setValue(new Date()); 
    } 
} 

希望這會有所幫助。

注:請注意此代碼僅適用於scripts bound to google apps

+0

你好,顯然沒有工作。我相信我的需求更簡單。我需要將一個公式IF(IFSBLANK(A1);「」; myFunction())放在一起。 換句話說,我需要myFunction給定固定的日期和時間,以便符合A1。它的公式沒有做到這一點,也沒有成爲可擴展的 - 我做的測試。示例:https://docs.google.com/spreadsheets/d/1i05H3zcI51v4UkFrHpBnTUfJ__1pp46um99wn_VpgC8/edit?usp=sharing –

+1

@GabrielPiffer:有關問題的相關信息應包含在問題中。 –