我不知道脚本。
我找到了一种比ImportRange更快地引用外部图纸的方法,但是我不知道如何使用此脚本。
我可以举个使用此脚本的示例吗?
我需要帮助。
// this function creates a menu item on the top that you can click the refresh the data, you could also use triggers to refresh
function onOpen() {
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [{name: 'Refresh', functionName: 'getData'}];
spreadsheet.addMenu('Menu', menuItems);
}
function getData() {
var key = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").getValue(); // you would place the spreadsheet key in A1, alternatively you can enter the key directly here rather than referencing
var sourceSs = SpreadsheetApp.openById(key);
var sourceSheet = sourceSs.getSheetByName("Sheet1");
var sourceRange = sourceSheet.getRange("A1:C");
var sourceValues = sourceRange.getValues();
var destSs = SpreadsheetApp.getActiveSpreadsheet();
var destSheet = destSs.getSheetByName("Sheet1");
var desRange = destSheet.getRange("A1:C")
destRange.setValues(sourceValues);
}
对不起。我的英语似乎不太流利,因为我的英语似乎不太合适。 我必须去StackOverFlow是因为韩国的GAS用户很少。
//最初,我的水平知道如何使用电子表格的大多数功能(脚本除外)。
根据我的经验,我已经有超过100,000行,在拆分工作表后,我使用了IMPORTRANGE函数将结果收集到一个电子表格中。
但是,此电子表格具有大量的实时更新,因此我们必须找到一种加快速度的方法。
之后,我找到了上面的源代码并将其保存。但是,destRange.setValues(sourceValues)发生了错误;在底部。
我试图修改源代码,但是结果是相同的。
我认为您可以在实际应用的示例中看到如何使用源代码。
答案 0 :(得分:0)
您需要做一些事情,不是很难,而是要具体: 1)获取源和目标电子表格的密钥。这些是打开工作表的URL中的长长的粗俗字符串。如果您看到这样的URL:https://docs.google.com/spreadsheets/d/1fPvp5o2-xeH04STyeaoC_iJTy1JRGQZki3_j1l39wMQ/edit#gid=0,则工作表ID是电子表格/ d /之后和/ edit之前的部分。将这些键放在sourceSs和destSs的代码中。
打开目标表。从菜单中选择工具->脚本编辑器。假设到目前为止您什么都没做,您将获得默认的“ MyFunction()”。清除该文本,然后复制/粘贴您的代码(包括密钥)。保存代码。关闭代码窗口,关闭电子表格,然后重新打开目标电子表格。
要实际更新目标电子表格上的值,将要求用户选择菜单项“刷新”。第一次,将要求用户授权该脚本的权限。
尝试一下。一旦知道了方法,就非常简单了。