2016-07-04 83 views
0

我試圖在電子表格的單元格中創建基於時間的/觸發的鎖定,以便單元格中的數據在一天中的某些時段不會更改。但在創建時間鎖以除去範圍保護之前,我需要在第一次POST時鎖定該單元。保護單元格不受連續POST影響

如何鎖定單元格在第一次POST後被編輯,以便在鎖定期間連續POST到同一單元格不會更改數據?

注意:該應用程序是作爲我執行的,包括匿名在內的任何人都可以訪問它。

doPost(e) 
 
{ 
 
    ssNew = SpreadsheetApp.openById(ssId); 
 
    var sheet = ssNew.getSheets()[0]; 
 
    var cell = sheet.getRange(1,1); 
 
    var visits = cell.getValue(); 
 
    
 
    cell.setValue(e.parameter.name); 
 
    SpreadsheetApp.flush(); 
 
     
 
    var lockrange = sheet.getRange(1,1); 
 
    var protection = lockrange.protect().setDescription('Protected'); 
 
    var me = Session.getActiveUser(); 
 
    protection.removeEditor(me); 
 
    
 
}

回答

0

你要存儲一個標誌某種持久的記憶:像使用PropertiesService(在這種情況下可能腳本屬性),或在另一片電子表格單元格。然後,doPost()可以在更改之前檢查該標誌是否已設置。

您還可以查看programmatically protecting the cell以防用戶修改。

相關問題