请帮忙。 我想要更频繁的更新,所以我想使用gscripts。
我需要检索此来源的值:
文件名:Peta Finance 名称表:数据 密钥:xxx111xxx 细胞:B15
目标是: 文件名:财务 名称表:Data1 密钥:xxx222xxx 细胞:A2
我尝试使用此代码,但它们不起作用:
function importData() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); //source ss
var sheet = ss.getSheetByName("Finance Peta"); //opens the sheet with your source data
var values = sheet.getRange("C1").getValues(); //gets needed values
var ts = SpreadsheetApp.openById("xxx"); //target ss - paste your key
ts.getSheetByName("Finance").getRange("B15").setValues(values);
}
答案 0 :(得分:0)
有趣的是,前几天我问了类似的东西。编辑的代码如下:
function importData() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data1 Key");
var update = 'IMPORTRANGE("XXX","Data Key!B15"); //"XXX" is the spreadsheet key of your source [Peta Finance]
sheet.clear(); //Be careful with this. It clears the whole sheet including formatting. This part might need playing around a bit with
sheet.getRange("A2").setValue(update);
Utilities.sleep(245); //This just gives the set number of milliseconds before it carries out it's next process (not necessarily required if this is only action)
};
然后我创建了一个菜单,允许我手动刷新数据或单元格。在同一个脚本文件中如下所示:
function onOpen(){
var spreadsheet = SpreadsheetApp.getActive();
var menuItems = [
{name: 'Import Data', functionName: 'importData'}
];
spreadsheet.addMenu('Import', menuItems);
}
然后,您可以添加定时触发器以将其设置为更新,但importrange应自动执行此操作。
要执行此操作,请单击“资源”>>当前项目的触发器>>设置一个>>
如下所示>>运行:importData事件:时间驱动>>选择更新之间的时间。