【发布时间】:2017-10-08 17:38:23
【问题描述】:
在 Google 表格脚本中,我试图将值从表格 A 中的一个单元格复制到表格 B 中的另一个单元格。
问题是,当我在 oogle Sheets 脚本编辑器中启动 avgUtilisationPerWeek() 函数时,代码正在完成这项工作,它按照定义设置单元格的值。
但是当我使用公式=avgUtilisationPerWeek() 从目标表调用函数时,它会报告#ERROR
您无权调用 setValue(第 108 行)。
在自定义函数中,我试图设置工作表中其他单元格的值,而不仅仅是放置公式的单元格。
这是源代码:
function avgUtilisationPerWeek(){
for(var i = 1; i < 14; i++) {
Utilities.sleep(3000);
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dynamic Weekly Utilisation Report').getRange('D1').setValue(i);
t1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dynamic Weekly Utilisation Report').getRange('L4').getValue();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Graph Q1 2017').getRange((String.fromCharCode('A'.charCodeAt(0) + i)).concat('24')).setValue(t1);
v = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dynamic Weekly Utilisation Report').getRange('L5').getValue();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Graph Q1 2017').getRange((String.fromCharCode('A'.charCodeAt(0) + i)).concat('29')).setValue(v);
g = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dynamic Weekly Utilisation Report').getRange('L6').getValue();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Graph Q1 2017').getRange((String.fromCharCode('A'.charCodeAt(0) + i)).concat('34')).setValue(g);
t2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Dynamic Weekly Utilisation Report').getRange('L7').getValue();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Graph Q1 2017').getRange((String.fromCharCode('A'.charCodeAt(0) + i)).concat('39')).setValue(t2);
}
}
我看了这篇文章,但没有找到解决办法。
【问题讨论】:
标签: google-apps-script google-sheets google-sheets-formula custom-function setvalue