Google apps script 异常:Google Apps脚本中变量的参数无效

Google apps script 异常:Google Apps脚本中变量的参数无效,google-apps-script,google-sheets,google-docs,Google Apps Script,Google Sheets,Google Docs,我正在尝试将Google Sheets文件与Google Doc文件链接,并用一些自定义项替换Google Doc的文本 Exception: Invalid argument: sheet autoFillGoogleDocFromForm @ Code.gs:5 此错误由以下代码生成。我使用(工作表名称),(插入文件id),(插入文件夹id),而不是显示实际值 function autoFillGoogleDocFromForm(e) { var activateSheet

我正在尝试将Google Sheets文件与Google Doc文件链接,并用一些自定义项替换Google Doc的文本

Exception: Invalid argument: sheet
autoFillGoogleDocFromForm   @ Code.gs:5
此错误由以下代码生成。我使用(工作表名称),(插入文件id),(插入文件夹id),而不是显示实际值

function autoFillGoogleDocFromForm(e) {

    var activateSheet = SpreadsheetApp.getActiveSpreadsheet();

    SpreadsheetApp.setActiveSheet(activateSheet.getSheetByName('(name of sheet)'));

    var sheet = SpreadsheetApp.getActiveSheet();
    var row = e.range.getRowIndex();
    var timestamp = sheet.getRange(row, 1).getValues();
    var file = DriveApp.getFileById('(file id inserted)'); 
    var folder = DriveApp.getFolderById('(folder id inserted)');
    var copy = file.makeCopy('' + timestamp, folder); 
    var doc = DocumentApp.openById(copy.getId());
    var header = doc.getHeader();

    header.replaceText('{{TIMESTAMP}}', timestamp);
    doc.saveAndClose(); 

}

您可以简化定义的方式:

即使不再使用该对象,也可以直接定义该对象


请确保正确填写
工作表的名称。

我复制粘贴了您的代码,代码正常工作。你检查项目设置了吗?Sheets API启用了吗?@mertdökümcüSheets API没有启用,我真的不知道如何启用它。你能检查下面的答案吗?@mertdökümcü耶,对不起,我刚才看到了。所以我在左侧的服务中添加了表单,但仍然会出现相同的错误,是针对同一行还是针对另一行?您还应该添加其他API,如Drive和DocsI,我尝试了这一点,但它出现了“TypeError:无法读取未定义的autoFillGoogleDocFromForm@Code.gs:6”的属性“range”。此错误意味着e未定义
e
是表示触发函数的
事件的变量,不能直接从脚本编辑器运行函数。如果您添加更多关于您的场景的上下文,以及您想要得到什么,帮助你会很容易。所以我想做的是帮助我的祖先归档并在文档和文件夹中打印出来,所以基本上我想做的是让它成为这样,每次我提交一些东西到我为我的祖先创建的谷歌表单时,它都会被引导到一个电子表格,该电子表格会自动复制并填写一个然后根据姓氏放在不同的文件夹中,并将新文档的名称命名为“家族(我的祖先)”+一个我创建的id。我建议您查看和。然后,您可以开始设计您的项目。顺便问一下,如果表单只自动复制并填写文档,为什么要将表单收集的信息发送到电子表格?也许你可以直接将数据发送给Doc,或者两者都发送。我只想说,进一步开发你的项目,当你遇到更具体的挑战时,寻求帮助,我会很乐意为你提供帮助。
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheetByName('name of the sheet')
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('name of the sheet')