我创建了一个简单的 Google App 脚本,该脚本链接到一个简单的 google 表格。
Google 工作表有 2 张工作表:一张名为“Source”,另一张名为“Imported”:
https://docs.google.com/spreadsheets/d/1NODMmY8ua-enfjECumm76qszgogE2hyNkhygy8qe1uk/edit#gid=0
工作表“导入”从工作表“源”中导入单元格“A1”中的数据。
但是,当我运行代码时,我注意到即使新导入的数据在“已导入”工作表中对人眼可见,代码也无法获取导入的数据。
复制问题的步骤:
- 第 1 步:转到工作表“来源”并在单元格 A1 中输入国家名称“西班牙”。
- 第二步:运行代码。
- 第 3 步:检查日志。您会注意到,即使我们在代码中指定了“America”,代码仍然将名称记录为“Spain”,这是旧数据。
如果您第二次运行代码,一切都会按预期运行。要复制代码,您必须再次从第 1 步开始。
任何指向我可以调查的正确方向的指针?
我的代码供您快速参考:
function Stack_Overflow_Function() {
var name = "America";
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Source").activate();
var ss_source = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
ss_source.getRange(1,1).setValue(name);
Utilities.sleep(1000)
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Imported").activate();
var ss_imported = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss_imported.getLastRow();
var current_name = ss_imported.getRange(1,1).getValue();
Logger.log('The Current name in Imported sheet is '+current_name);
}
编辑:很抱歉没有提及,数据是使用标准函数 IMPORTRANGE('Google sheet URL',Source!A1:A1) 在“已导入”工作表中使用 IMPORTRANGE 导入的