2015-03-03 55 views
0

目前,我有以下的谷歌腳本:新增名稱到最後編輯(谷歌腳本)

function onEdit() { 
    var s = SpreadsheetApp.getActiveSheet(); 
    var r = s.getActiveCell(); 

    if(s.getName()=='Setup BRF'){ 
     if(r.getColumn() != 2) { //checks the column 
     var row = r.getRow(); 
     var time = new Date(); 
     time = Utilities.formatDate(time, "GMT", "dd-MM-yy' , 'HH:mm:ss"); 
     SpreadsheetApp.getActiveSheet().getRange('J1').setValue(time); 
     }; 
    }; 
    }; 

每次我編輯的表稱爲設置BRF它更新J1的時間和日期顯示,當它是什麼上次更新/編輯。

我的問題是如果它可能添加一個名稱讓單元格K1顯示誰最後更新了這張表。我的JavaScript技能是nihil,所以任何形式的幫助表示讚賞。

+0

https://developers.google.com/google-apps/spreadsh eets /#about_authorization_protocols – Ali786 2015-03-03 11:27:40

回答

0

您可以使用event object傳遞給函數

所以定義修改爲

function onEdit(e) { 

,然後你可以使用e.user讓用戶

像這樣的事情

if(r.getColumn() != 2) { //checks the column 
    var row = r.getRow(), 
     time = new Date(), 
     user = e.user; 

    time = Utilities.formatDate(time, "GMT", "dd-MM-yy' , 'HH:mm:ss"); 
    SpreadsheetApp.getActiveSheet().getRange('J1').setValue(time); 
    SpreadsheetApp.getActiveSheet().getRange('K1').setValue(user); 
}; 
+0

在我輸入的第9行獲得一個類型錯誤:var user = e.user(); – user3084175 2015-03-03 11:51:37

+0

不是'e.user()',而是'e.user',就像Gaby所說的那樣。但是,無論如何,您仍然會感到失望,因爲無論如何,其他用戶的身份無法用於onEdit()函數。 ([參考](https://developers.google.com/apps-script/reference/base/session#getActiveUser%28%29))編輯工作表時,您將獲得您的ID,但在其他人做。 – Mogsdad 2015-04-14 13:29:21

相關問題