【问题标题】:Connect two Google Sheets with script使用脚本连接两个 Google 表格
【发布时间】:2016-09-25 11:12:47
【问题描述】:

我想通过SpreadsheetApp.create(); 创建一个工作表,并通过cell.setFormula 和 IMPORTRANGE 在这个新生成的工作表中填写一个查询,以获取另一个工作表的数据。

它不起作用,因为工作表未连接。如果我手动执行此操作,则 QUERY 有效。

有没有办法通过脚本连接两张纸?

【问题讨论】:

    标签: google-apps-script google-sheets importrange


    【解决方案1】:

    您可以通过 ID 创建一个带有工作表位置的变量。然后,通过脚本远程访问工作表。保存单元格变量并将其粘贴到第一张表中。

    伪代码示例

    Sheet1 = SpreadsheetApp.getSheetByID('IDofSheetOne');
    SpreadsheetApp.create();
    Sheet2 = SpreadsheetApp.getSheetByID('IDofSheetTwo'); // the one just created, you'd probably have to use some kind of get to get this ID.
    

    从这里开始,您可以说 Sheet1.doWhatever() 和 Sheet2.doWhatever()。

    这就是您一次可以访问多个工作表的方式。

    【讨论】:

    • 我正确粘贴了代码,问题是 - 我必须手动进入工作表并连接两个工作表,以便查询/导入范围有效。据我了解您的想法,它似乎基本相同?
    • 我不明白,“手动”是什么意思?如果 sheet1 是您打开的,请获取活动工作表的 ID。如果 sheet2 是您创建的,则获取您刚刚创建的 ID。您可以通过在谷歌应用脚​​本中使用“get”命令来做到这一点。然后从那里,您可以使用 sheet1 和 sheet2 来更新它们。您可以在 onEdit() 上触发该函数,它会更加“自动”
    • 如果我创建一个 Sheet1,它通过 importRange 引用来自 Sheet2 的数据,您必须进入 sheet1 并连接两个工作表。 ATM 我看不到通过脚本自动连接新创建的工作表和现有工作表的方法 - 对吗?
    • 您的意思是让它们具有相同的精确值,即使您更改一侧? @dirtybob
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 2018-08-22
    相关资源
    最近更新 更多