2013-03-09 141 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

相关问题