如何从多个工作表中获取列值
How do I get a column value from multiple sheets
我有一个工作脚本可以从 Google 表单创建 Google 文档,但我想将其中一个值更改为 sheet2。由于无法在 sheet1 的第 3 列中删除换行符,我正在使用 sheet2 来 =CLEAN 列。我在下面复制了一个简单的 form/doc 脚本来进行测试。我希望 var title 从 sheet 2 的第 5 列而不是 sheet 1 的第 3 列中提取值。或者也许有更好的方法来解决我创建的 Doc 中剩余的换行符格式问题模板?
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();
}
我有一个工作脚本可以从 Google 表单创建 Google 文档,但我想将其中一个值更改为 sheet2。由于无法在 sheet1 的第 3 列中删除换行符,我正在使用 sheet2 来 =CLEAN 列。我在下面复制了一个简单的 form/doc 脚本来进行测试。我希望 var title 从 sheet 2 的第 5 列而不是 sheet 1 的第 3 列中提取值。或者也许有更好的方法来解决我创建的 Doc 中剩余的换行符格式问题模板?
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();
}