gpt4 book ai didi

javascript - 如何让多个函数连续运行 - google app script

转载 作者:行者123 更新时间:2023-12-04 14:54:15 24 4
gpt4 key购买 nike

在有人说去看看其他线程之前,我已经检查了以下内容: Running Multiple Functions in Google Apps ScriptHow to execute multiple functions in google apps script in order?我仍然卡住了。

作为引用,我的编码经验有限,并且一直在自学完成一项特定任务和一些其他文档自动填充应用程序脚本(工作正常但单独)以完成我的工作。

我有一个用于数据摄取的谷歌表格,它会自动填写完成我公司申请所需的一系列表格。以前,您必须多次手动输入数据,我认为必须有更好的方法。

该代码通过电子表格从 google 表单获取输入,这样我们就可以跟踪并自动填写 3 个预先生成的文档,这些文档随后会同步到我们的网络驱动器上,这样办公室里的所有人都可以访问他们需要的内容。

不管怎样,代码如下:

function fileFills(e){

var address = e.values[1];
var tenman = e.values[2];
var tennum = e.values[3];
var price = e.values[4];
var wks = e.values[5];
var deposit = e.values[6];
var tname1 = e.values[7];
var tname2 = e.values[8];
var tname3 = e.values[9];
var tname4 = e.values[10];
var tname5 = e.values[11];
var tname6 = e.values[12];
var tname7 = e.values[13];
var tname8 = e.values[16];
var tname9 = e.values[17];

var file = DriveApp.getFileById('form template 1');
var parentFolder = DriveApp.getFolderById('main folder');
var newFolder = parentFolder.createFolder(address);
var copy = file.makeCopy(address + ', ' + ' Summary');
copy.moveTo(newFolder);

var doc = DocumentApp.openById(copy.getId());

var body = doc.getBody();

body.replaceText('{{Add}}', address);
body.replaceText('{{TM}}', tenman);
body.replaceText('{{TTC}}', tennum);
body.replaceText('{{Price}}', price);
body.replaceText('{{Time}}', wks);
body.replaceText('{{Deposit}}', deposit);
body.replaceText('{{N1}}', tname1);
body.replaceText('{{N2}}', tname2);
body.replaceText('{{N3}}', tname3);
body.replaceText('{{N4}}', tname4);
body.replaceText('{{N5}}', tname5);
body.replaceText('{{N6}}', tname6);
body.replaceText('{{N7}}', tname7);
body.replaceText('{{N8}}', tname8);
body.replaceText('{{N9}}', tname9);

var file2 = DriveApp.getFileById('form template 2');
var copy2 = file2.makeCopy(address + ', ' + ' Key Sign');
copy2.moveTo(newFolder);

var doc2 = DocumentApp.openById(copy2.getId());

var body2 = doc2.getBody();

body2.replaceText('{{Add}}', address);
body2.replaceText('{{TTC}}', tennum);
body2.replaceText('{{Time}}', wks);
body2.replaceText('{{N1}}', tname1);
body2.replaceText('{{N2}}', tname2);
body2.replaceText('{{N3}}', tname3);
body2.replaceText('{{N4}}', tname4);
body2.replaceText('{{N5}}', tname5);
body2.replaceText('{{N6}}', tname6);
body2.replaceText('{{N7}}', tname7);
body2.replaceText('{{N8}}', tname8);
body2.replaceText('{{N9}}', tname9);

var file3 = DriveApp.getFileById('form template 3');
var copy3 = file3.makeCopy(address + ', ' + ' Tenancy Summary');
copy3.moveTo(newFolder);

var doc3 = DocumentApp.openById(copy.getId());

var body3 = doc3.getBody();

body3.replaceText('{{Add}}', address);
body3.replaceText('{{TM}}', tenman);
body3.replaceText('{{TTC}}', tennum);

}

显然我已经删除了上面的文件和文件夹 ID。

问题是,当我通过表单提交测试结果时,它会生成一个具有正确地址的新文件夹,然后将第一个文档复制到其中并填写它,但仅此而已。我没有第二或第三种形式。

我以前有一个版本,我设法让它也复制了第二和第三种形式,但只复制到父文件夹中,它不会填充数据或将其移动到正确的文件夹。

求助!我敢肯定它是我想念的明显东西,但它让我发疯!

谢谢!

最佳答案

var tname4 = e.values[10];
var tname5 = e.values[11];
var tname6 = e.values[12];
var tname7 = e.values[13];
var tname8 = e.values[16]; // <-- 14?
var tname9 = e.values[17]; // <-- 15?

我认为最后两行应该是:

var tname8 = e.values[14];
var tname9 = e.values[15];

关于javascript - 如何让多个函数连续运行 - google app script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68440993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com