2013-03-09 275 views
0

我創建了一個腳本,該腳本每天一次在定時觸發器上運行,其目的是複製模板電子表格並使用當前日期對其進行重命名。另外,我想將新創建的電子表格中特定單元格的值設置爲當前日期。使用腳本設置電子表格單元格的值

var date = Utilities.formatDate(new Date(), 'EST', 'MMddyy'); 
var newLiveFeedName = "Live Feed ("+date+")"; 
var newLiveFeed = currentLiveFeedTemplate.makeCopy(newLiveFeedName); 
newLiveFeed.SpreadsheetApp.getSheetByName("Summary").getRange('G2').setValue(date); 

我收到一個錯誤,指出getSheetByName()函數未定義。我錯過了什麼?

回答

0

newLiveFeed是一個電子表格對象,所以儘量簡單地像:

(假設currentLiveFeedTemplateActiveSpreadsheet()

var date = Utilities.formatDate(new Date(), 'EST', 'MMddyy'); 
var newLiveFeedName = "Live Feed ("+date+")"; 
var newLiveFeed = currentLiveFeedTemplate.copy(newLiveFeedName); 
newLiveFeed.getSheetByName("Summary").getRange('G2').setValue(date); 
+0

這個腳本是爲了觸發獨立於任何電子表格的,因此不會有一個活動的電子表格打開。可以用這種方法編輯單元格,還是需要在編輯單元格之前讓腳本打開電子表格。 – Crashstyle 2013-03-10 19:59:43

+0

如果腳本獨立於電子表格執行,則必須使用'var currentLiveFeedTemplate = SpreadsheetApp.openById(id)'來定義源電子表格,id是源電子表格的ID。 – 2013-03-10 20:23:04

+0

的確如此:'SpreadsheetApp.openById(newLiveFeed.getId())。getSheetByName(「Summary」)。getRange('G2')。setValue(date);' – Jonathon 2013-03-11 03:25:49

相關問題