我有一个工作脚本,可以从Google表单创建Google文档,但是我想将其中一个值更改为sheet2。由于无法使用换行符,我正在使用sheet2来对一列进行CLEAN清理,因此我无法在sheet1的第3列中删除它。我在下面的简单表格/文档中复制了脚本以进行测试。我想让var title从工作表2的第5列而不是工作表1的第3列中提取值?或者也许有更好的方法来解决模板中剩余的换行符格式问题?
function autoFillGoogleDocFromForm(e) {
var timestamp = e.values[0];
var firstName = e.values[1];
var lastName = e.values[2];
var title = e.values[3];
var templateFile = DriveApp.getFileById("17HH3zii-MfT3vl7-JU9Xx8XNgWpPAcNG5244iJHnzo0");
var templateSubmittedFolder = DriveApp.getFolderById("1QNaCCyueyLvcuB7w8wkYvjt-OW75scPP");
var copy = templateFile.makeCopy(lastName + ',' + firstName, templateSubmittedFolder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
body.replaceText("{{FirstName}}", firstName);
body.replaceText("{{LastName}}", lastName);
body.replaceText("{{Title}}", title);
var currentDate = new Date();
doc.saveAndClose();
}
根据您提供的内容,需要进行一些小的更改。代替
var title = e.values[3];
只需添加替换即可删除所有不可打印的文本,如下所示
var title = e.values[3].replace(/[^\x20-\x7E]/g, '');
以下是带有修改的完整代码。祝好运!
function autoFillGoogleDocFromForm(e) {
var timestamp = e.values[0];
var firstName = e.values[1];
var lastName = e.values[2];
var title = e.values[3].replace(/[^\x20-\x7E]/g, '');
var templateFile = DriveApp.getFileById("17HH3zii-MfT3vl7-JU9Xx8XNgWpPAcNG5244iJHnzo0");
var templateSubmittedFolder = DriveApp.getFolderById("1QNaCCyueyLvcuB7w8wkYvjt-OW75scPP");
var copy = templateFile.makeCopy(lastName + ',' + firstName, templateSubmittedFolder);
var doc = DocumentApp.openById(copy.getId());
var body = doc.getBody();
body.replaceText("{{FirstName}}", firstName);
body.replaceText("{{LastName}}", lastName);
body.replaceText("{{Title}}", title);
var currentDate = new Date();
doc.saveAndClose();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句