我是 Script 的新手,想知道是否可以获得有关问题的帮助。我目前正在尝试从 Google 表单提交中自动填写 Google 文档。我过去曾在一个小测试中取得成功,但自从第二次尝试使用更大的表格后,我遇到了这个错误:
"Exception: The parameters (String,DriveApp.File) don't match the method signature for DriveApp.File.makeCopy"
我不是很清楚这是在告诉我什么。我所知道的是,我所做的与我上次的小规模测试没有什么不同,所以我正在运行的脚本表面上看起来是可靠的,所以我希望有人能帮助我指出问题所在。这是脚本:
function autoFillFormFromDoc(e) {
var clientCode = e.values[1];
var email = e.values[2];
var warningSigns = e.values[3];
var internalCopingStrategies = e.values[4];
var peopleAndSocial = e.values[5];
var peopleWhoCare = e.values[6];
var creatingSafety = e.values[7];
var clientName = e.values[8];
var date = e.values[9];
var templateFile = DriveApp.getFileById("1Vs8y3eZbyBlef8HlV7v9nhSRvaH39Cg5P0Q5zhpZBA");
var templateResponseFolder = DriveApp.getFileById("1OxsOwU6rAvohqRqDVOfH_f70kvu30HZp");
var copy = templateFile.makeCopy(clientName, templateResponseFolder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
body.replaceText("{{ClientCode}}", clientCode);
body.replaceText("{{Email}}", email);
body.replaceText("{{WarningSigns}}", warningSigns);
body.replaceText("{{InternalCopingStrategies}}", internalCopingStrategies);
body.replaceText("{{PeopleAndSocial}}", peopleAndSocial);
body.replaceText("{{PeopleWhoCare}}", peopleWhoCare);
body.replaceText("{{CreatingSafety}}", creatingSafety);
body.replaceText("{{ClientName}}", clientName);
body.replaceText("{{Date}}", date);
doc.saveAndClose();
}
最佳答案
问题:
File.makeCopy(name, destination)
需要两个参数
name
类型为string
和目的地
类型文件夹
脚本调用类型为 file
的 destination
。因此它出错了
The parameters (String,DriveApp.File) don't match the method signature for DriveApp.File.makeCopy
解决方案:
获取文件夹
而不是文件
:
var templateResponseFolder = DriveApp.getFolderById("[FOLDER_ID]");
关于javascript - 异常 : The parameters (String, DriveApp.File) 与 DriveApp.File.makeCopy 的方法签名不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63972967/