使用Google Apps脚本,是否可以在编辑Google表格文件时自动更新Google文档文件?
我有一个带有脚本的Google DocumentApp文件,该脚本从Google SpreadsheetApp文件获取数据。我希望创建一个脚本,以便在编辑SpreadsheetApp文件时自动更新DocumentApp文件。
这是我当前正在使用的代码:
function updateDocumentOnEditTrigger() {
var ss = SpreadsheetApp.openById(SheetID);
ScriptApp.newTrigger('UpdateDocument')
.forSpreadsheet(ss)
.onEdit()
.create();
}
运行updateDocumentOnEditTrigger
函数似乎不会触发UpdateDocument
函数,该函数在手动运行时应能正常工作。
答案 0 :(得分:1)
为了在编辑电子表格时运行DocumentApp
脚本,必须使用附加到电子表格的On edit
可安装触发器。
根据简单触发器文档,有一些限制需要考虑。特别是:
他们可以修改绑定到的文件,但不能访问其他文件,因为这需要授权。
因此,无法使用onEdit(e)
触发功能。但是,可以创建一个可安装的触发器,并进行设置,使其可以在编辑时触发。
在脚本中将以下功能绑定到电子表格文件:
function updateDocument() {
var doc = DocumentApp.openById('DOCUMENT_ID');
// here you can put your code that edits the document in the way you want.
}
您可以创建一个可安装的触发器,该触发器在电子表格的编辑上运行。但是,在设置触发器之前,您至少需要运行一次代码-这是因为DocumentApp
需要授权,并且您需要授予该授权!
设置代码后,您可以通过完成以下步骤来创建可安装触发器:
在绑定的电子表格脚本的Apps脚本编辑器视图中,遵循路径Edit > Current project's triggers
。这将在新的标签或窗口中打开项目的触发器。
在左下方,单击+ Add Trigger
按钮,弹出Add Trigger
模态。从这里,设置具有以下属性的触发器:
updateDocument
Head
From spreadsheet
On edit
然后单击Save
。这将设置触发器,以便您每次编辑电子表格时都将运行您的文档编辑功能。
希望对您有帮助!