运行 Google 不同工作表和文档上的脚本
Run Google Script on different sheets and documents
我想我要问的问题与部署有关。但是,我在其他地方找不到明确的答案。
我创建了一个脚本来处理 Google 电子表格中的时间表数据,从模板生成 Google 文档发票,然后创建电子邮件草稿,并将所述发票作为 PDF 附件。一切以
开始
var sheet = SpreadsheetApp.getActiveSheet();
,这在我处理时间表数据的样本电子表格时很好。但是,现在我想 运行 每个月在新电子表格上编写我的脚本,从我 phone 上的计时应用程序导出。该脚本足够强大(无论好坏,我将它写在几个不同的脚本文件中以组织我的想法),我不想每个月都copy/paste 从一个文件到另一个文件。
如何使用我的脚本来处理新的电子表格?我很难破译有关部署的信息 and/or 缺少另一种方法。
我相信你在问,我如何在另一个电子表格上 运行 当前为活动电子表格(脚本附加到的那个)编写的脚本?
最快的答案是替换
var sheet = SpreadsheetApp.getActiveSheet();
和
var sheet = SpreadsheetApp.openById('{SpreadsheetId}').getSheetByName('{Name of sheet}');
其中 {SpreadsheetId}
替换为您要处理的电子表格的 ID。该 ID 可以在电子表格的 URL 中找到。例如,URL 处的电子表格
https://docs.google.com/spreadsheets/d/19I6BqTKvitlGP_TSKr0wnG7nPvI8VVKw2XSqxTWQjMo/edit#gid=0
有 id 19I6BqTKvitlGP_TSKr0wnG7nPvI8VVKw2XSqxTWQjMo
.
或者您可以使用
var sheet = SpreadsheetApp.openByUrl('{SpreadsheetUrl}').getSheetByName();
整个URL.
如果您是手动 运行 脚本,则每次都可以手动将 id/URL 复制并粘贴到您的代码中。如果您需要以编程方式发现文件(也许它总是放在同一个 Drive 文件夹中?)这是一个更 in-depth 的问题。
参考文献:
我想我要问的问题与部署有关。但是,我在其他地方找不到明确的答案。
我创建了一个脚本来处理 Google 电子表格中的时间表数据,从模板生成 Google 文档发票,然后创建电子邮件草稿,并将所述发票作为 PDF 附件。一切以
开始var sheet = SpreadsheetApp.getActiveSheet();
,这在我处理时间表数据的样本电子表格时很好。但是,现在我想 运行 每个月在新电子表格上编写我的脚本,从我 phone 上的计时应用程序导出。该脚本足够强大(无论好坏,我将它写在几个不同的脚本文件中以组织我的想法),我不想每个月都copy/paste 从一个文件到另一个文件。
如何使用我的脚本来处理新的电子表格?我很难破译有关部署的信息 and/or 缺少另一种方法。
我相信你在问,我如何在另一个电子表格上 运行 当前为活动电子表格(脚本附加到的那个)编写的脚本?
最快的答案是替换
var sheet = SpreadsheetApp.getActiveSheet();
和
var sheet = SpreadsheetApp.openById('{SpreadsheetId}').getSheetByName('{Name of sheet}');
其中 {SpreadsheetId}
替换为您要处理的电子表格的 ID。该 ID 可以在电子表格的 URL 中找到。例如,URL 处的电子表格
https://docs.google.com/spreadsheets/d/19I6BqTKvitlGP_TSKr0wnG7nPvI8VVKw2XSqxTWQjMo/edit#gid=0
有 id 19I6BqTKvitlGP_TSKr0wnG7nPvI8VVKw2XSqxTWQjMo
.
或者您可以使用
var sheet = SpreadsheetApp.openByUrl('{SpreadsheetUrl}').getSheetByName();
整个URL.
如果您是手动 运行 脚本,则每次都可以手动将 id/URL 复制并粘贴到您的代码中。如果您需要以编程方式发现文件(也许它总是放在同一个 Drive 文件夹中?)这是一个更 in-depth 的问题。
参考文献: