replaceText 在一个实例中工作但在另一个实例中不工作
replaceText working in one instance but not in another
提交 Google 表单并自动填写 Google 文档时会触发脚本。
在我添加 var servicesPTY = e.values[117];
并完美替换所有占位符之前,它工作得很好。但是一旦我添加它,执行指示器就会显示 completed 但不再生成任何文件。该文档的占位符如下所示:{{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}}
输出顺序:
四个
一个
三个
我一定是取消了 PTY 的触发器。当我查看 stackdriver 日志时,我注意到 PTY 有 none。一定是凌晨发生的。不过谢谢。你们让我走上正轨
提交 Google 表单并自动填写 Google 文档时会触发脚本。
在我添加 var servicesPTY = e.values[117];
并完美替换所有占位符之前,它工作得很好。但是一旦我添加它,执行指示器就会显示 completed 但不再生成任何文件。该文档的占位符如下所示:{{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}}
输出顺序:
四个
一个
三个
我一定是取消了 PTY 的触发器。当我查看 stackdriver 日志时,我注意到 PTY 有 none。一定是凌晨发生的。不过谢谢。你们让我走上正轨