google-apps-script - replaceText 在一个实例中工作,但在另一个实例中不工作
问题描述
该脚本在提交 Google 表单并自动填写 Google 文档时触发。
在我完美地添加var servicesPTY = e.values[117];
和替换所有占位符之前,它运行良好。但是一旦我添加它,执行指示器就会显示已完成,但不再生成任何文档。该文档具有如下所示的占位符:{{servicesPTY}} {{regNumberPTY}} {{tradingNamePTY}}
代码如下所示:
function myFormSubmitPTY(e) {
var regNumberPTY = e.values[112];
var taxNumberPTY = e.values[111];
var tradingNamePTY = e.values[113];
var servicesPTY = e.values[117];
var file = DriveApp.getFileById("16OwyBIZAD2pwkuUXZnYSj-9WB6ObGGRXiEjDLa1tcjw");
var folder = DriveApp.getFolderById("1kogpJdxHLwuEhbVyh2oiIgTPH0SNac2m");
var copy = file.makeCopy(tradingNamePTY, folder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
if (type == "PTY (LTD)") {
body.replaceText("{{servicesPTY}}",servicesPTY);
body.replaceText("{{regNumberPTY}}", regNumberPTY);
body.replaceText("{{tradingNamePTY}}", tradingNamePTY);
doc.saveAndClose();
}
}
解决方案
这对我有用:
function testmyFormSubmit() {
var e={values:["one","two","three","four"]};
myFormSubmitPTY(e);
}
var type="PTY (LTD)";//global
function myFormSubmitPTY(e) {
var regNumberPTY = e.values[0];
var taxNumberPTY = e.values[1];
var tradingNamePTY = e.values[2];
var servicesPTY = e.values[3];
var file = DriveApp.getFileById("fileid");
var folder = DriveApp.getFolderById("folderid");
var copy = file.makeCopy(tradingNamePTY, folder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
if (type=="PTY (LTD)") {
body.replaceText("{{servicesPTY}}",servicesPTY);
body.replaceText("{{regNumberPTY}}", regNumberPTY);
body.replaceText("{{tradingNamePTY}}", tradingNamePTY);
doc.saveAndClose();
}
}
文件名:三
图案顺序:
{{servicesPTY}}
{{regNumberPTY}}
{{tradingNamePTY}}
输出顺序:
四
一
三
推荐阅读
- php - Laravel API 错误和异常:如何返回响应
- vb.net - 如何使用 Delimeter 在 vb.net 中的字符串数组中拆分多行字符串?
- c++ - 循环从字符数组中删除过多的空格(C++)
- ios - 有没有办法在 ARKIT 3 中获得身体跟踪值/坐标?
- javascript - 从对象的 api 数组生成新对象
- r - 如何根据满足的条件应用函数完成()?
- python - 列表循环不打印结果
- c++ - 如何使用 moveToThread 创建并行线程
- visual-studio-code - 是否有一个 vscode 键绑定“何时”子句来检测对输出通道的关注?
- python - 在 Python 中用多个单词分割行