【发布时间】:2015-10-19 07:28:37
【问题描述】:
如果 B 列从第 6 行开始的每一行都发生了变化,我想在 A 列中生成一个唯一 ID。使用从 1 到 X 的数字作为 ID 就足够了,但在移动 de 行后它不应该改变。但是我不断收到错误“无法调用 null 的方法“getRange”。”
function onEdit() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('ScriptTest');
var column0 = sheet.getRange(6, 2, sheet.getLastRow()-6, 1);
var oValues = column0.getValues();
if (oValues[sheet.getLastRow()][0] == '') {
sheet.getRange(sheet.getLastRow(), 1, 1, 1).setValue(ContentService.createTextOutput(sheet.getLastRow()-6));
}
}
【问题讨论】:
-
脚本测试是选项卡的名称还是文档的名称?您需要提供当前工作表的名称,而不是 getSheetByName() 中的文档。
-
这是当前工作表的选项卡名称。感谢您的回复!
-
这很奇怪。你能在你声明column0的行上放一个断点,然后在调试模式下运行这个函数吗?它是否有工作表作为对象,括号中带有 id?您确定选项卡名称是 ScriptTest,而不是 Scripttest 或 Script Test 或 scriptTest?
-
好吧,我三次检查了标签名称,但拼写错误。谢谢你的帮助!如果你写一个答案,我会打勾(:
-
很高兴它现在正在工作,我发布了一个详细说明这个问题的答案。
标签: google-apps-script google-sheets