动态单元格位置;无权调用 setValues
Dynamic cell position; No permission to call setValues
所以我有一张通过 IFTTT 跟踪我的工作时间的表格,我想在我的 Sheet 中添加一个脚本,以便在我的工作周结束时可以调用它并将 "End Work Week!" 全部在不同的列中,但在同一行中......但是为了使 IFTTT 代码正常工作,我需要在其下方有一个空白行,所以我一直在放置“=”“”。这是自定义函数:
function myRows(w, x, y, z)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Logger.log(x);
//Logger.log(y);
var range = sheet.getRange(w, x, y - w + 1, z - x + 1);
var rangeSetUp = [["Begin", "Work", "Week", "!"], ["=F1", " ", " ", " "]];
range = range.getA1Notation(); //Say the range is 1,1,2,4 then this will return a string "A1:D2", which seems to work better on getRange...
range = sheet.getRange(range);
range.setValues(rangeSetUp);
}
并且在单元格中我会有 =myRows(ROW(), COLUMN(), (ROW() + 1), (COLUMN() + 3))
而且我不向它发送静态值,因为代码将被放置在不同的单元格中......值的 "Array" 应该始终是 4列宽和 2 行深....不管它放在哪里,这就是为什么 var rangeSetUp
是静态的。我可以让代码完全执行到 setValues
然后我得到
#ERROR! You do not have permission to call setValues (line 11).
欢迎任何帮助。我是 Sheet 的所有者。
一个自定义函数 cannot use .setValues()
。引用文档:
A custom function cannot affect cells other than those it returns a
value to. In other words, a custom function cannot edit arbitrary
cells, only the cells it is called from and their adjacent cells. To
edit arbitrary cells, use a custom menu to run a function instead.
要将值写入相邻的单元格,只需 return 一个值数组,它会自动填充相邻的值。有关详细信息,请参阅 documentation。
在您的具体情况下,您只需执行以下操作:
function myRows()
{
var rangeSetUp = [["Begin", "Work", "Week", "!"], ["=F1", " ", " ", " "]];
return rangeSetUp
}
因此,如果您的单元格 A3 是“=myRows()”,您的输出会如此
所以我有一张通过 IFTTT 跟踪我的工作时间的表格,我想在我的 Sheet 中添加一个脚本,以便在我的工作周结束时可以调用它并将 "End Work Week!" 全部在不同的列中,但在同一行中......但是为了使 IFTTT 代码正常工作,我需要在其下方有一个空白行,所以我一直在放置“=”“”。这是自定义函数:
function myRows(w, x, y, z)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Logger.log(x);
//Logger.log(y);
var range = sheet.getRange(w, x, y - w + 1, z - x + 1);
var rangeSetUp = [["Begin", "Work", "Week", "!"], ["=F1", " ", " ", " "]];
range = range.getA1Notation(); //Say the range is 1,1,2,4 then this will return a string "A1:D2", which seems to work better on getRange...
range = sheet.getRange(range);
range.setValues(rangeSetUp);
}
并且在单元格中我会有 =myRows(ROW(), COLUMN(), (ROW() + 1), (COLUMN() + 3))
而且我不向它发送静态值,因为代码将被放置在不同的单元格中......值的 "Array" 应该始终是 4列宽和 2 行深....不管它放在哪里,这就是为什么 var rangeSetUp
是静态的。我可以让代码完全执行到 setValues
然后我得到
#ERROR! You do not have permission to call setValues (line 11).
欢迎任何帮助。我是 Sheet 的所有者。
一个自定义函数 cannot use .setValues()
。引用文档:
A custom function cannot affect cells other than those it returns a value to. In other words, a custom function cannot edit arbitrary cells, only the cells it is called from and their adjacent cells. To edit arbitrary cells, use a custom menu to run a function instead.
要将值写入相邻的单元格,只需 return 一个值数组,它会自动填充相邻的值。有关详细信息,请参阅 documentation。
在您的具体情况下,您只需执行以下操作:
function myRows()
{
var rangeSetUp = [["Begin", "Work", "Week", "!"], ["=F1", " ", " ", " "]];
return rangeSetUp
}
因此,如果您的单元格 A3 是“=myRows()”,您的输出会如此