我在下面的代码中找到了一个代码,该代码使用列标题值作为替换Google文档中文本占位符的键,在google文档和google工作表中的数据之间进行合并。
// Set up the docs and the spreadsheet access
var copyFile = DriveApp.getFileById(TEMPLATE_ID).makeCopy(),
copyId = copyFile.getId(),
copyDoc = DocumentApp.openById(copyId),
copyBody = copyDoc.getActiveSection(),
activeSheet = SpreadsheetApp.getActiveSheet(),
numberOfColumns = activeSheet.getLastColumn(),
activeRowIndex = activeSheet.getActiveRange().getRowIndex(),
activeRow = activeSheet.getRange(activeRowIndex, 1, 1,
numberOfColumns).getValues(),
headerRow = activeSheet.getRange(1, 1, 1, numberOfColumns).getValues(),
columnIndex = 0
// Replace the keys with the spreadsheet values
for (;columnIndex < headerRow[0].length; columnIndex++) {
copyBody.replaceText('%' + headerRow[0][columnIndex] + '%',
activeRow[0][columnIndex])
目前,必须手动触发此代码,并根据光标选择的活动行的位置执行此功能。
或者,我想在编辑行中的特定单元格时触发该函数,并在引用同一行中的值时执行合并。我过去使用过以下代码,但不是在上面的上下文中。
function onEditcustom(e) {
if(e.range.getColumn() == 1 && e.value == "APPROVED" &&
e.range.getSheet().getName() == "Sheet 1"){
非常感谢任何帮助!
谢谢!
答案 0 :(得分:0)
您想在Google表格中使用可安装触发器onEdit
。您必须使用可安装版本才能访问DocumentApp服务。
您还应注意,onEdit
只能用于工作表而不能用于文档。
https://developers.google.com/apps-script/guides/triggers/installable#google_apps_triggers