Google apps script 遍历行-谷歌工作表-合并文档
我有一个包含4列的文档,每个列都有一个指向Google文档文件的链接。 我已经拼凑了一些代码,将文档合并在一起,以便将第2、3和4列附加到第1列中的文档中 我现在只需要一些帮助,将其转换为一个循环,这样它就可以在所有行中循环(在完成的文档中大约有500行) 如果任何列中缺少文件,代码也会中断,在理想情况下,我希望跳过该文件并转到下一列 有人能帮忙吗(是的,我知道代码很糟糕)Google apps script 遍历行-谷歌工作表-合并文档,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个包含4列的文档,每个列都有一个指向Google文档文件的链接。 我已经拼凑了一些代码,将文档合并在一起,以便将第2、3和4列附加到第1列中的文档中 我现在只需要一些帮助,将其转换为一个循环,这样它就可以在所有行中循环(在完成的文档中大约有500行) 如果任何列中缺少文件,代码也会中断,在理想情况下,我希望跳过该文件并转到下一列 有人能帮忙吗(是的,我知道代码很糟糕) 函数mergeGoogleDocs(){ var ss=SpreadsheetApp.openById('XXXXXXXX
函数mergeGoogleDocs(){
var ss=SpreadsheetApp.openById('XXXXXXXXXXXXXXXXXXXXXXXX');
var sh=ss.getSheetByName('Sheet1');//访问特定的工作表
var row=sh.getRange(1,1).getValue();
var original=sh.getRange(第1行).getValue();
var arabic=sh.getRange(第2行).getValue();
var=sh.getRange(第3行).getValue();
var smallsteps=sh.getRange(第4行).getValue();
var docIDs=[原件、阿拉伯文、伊斯兰文、小步骤];
var baseDoc=DocumentApp.openById(docid[0]);
var body=baseDoc.getActiveSection();
对于(变量i=1;i
您的函数似乎做得更多。我不知道为什么您的描述基本上是在第1列中打开文档,并在第2列到第4列中附加数据,这就是这个函数所做的
function mergeGoogleDocs() {
var ss=SpreadsheetApp.openById(ssid);
var sh=ss.getSheetByName('Sheet1');
var rg=sh.getDataRange();
var vA=rg.getValues();
//assuming no headers for now
vA.forEach(function(r,i){
var doc=DocumentApp.openById(r[0]);
var body=doc.getBody();
body.appendParagraph(r[1]);
body.appendParagraph(r[2]);
body.appendParagrsph(r[3]);
lsh.appendRow([r])
Logger.log(i+1);//just to keep track of how many iterations we get before a possible timeout
doc.saveAndClose();
});
}
告诉我哪里出了问题,我会解决的。打开500个附加数据的文档并关闭文件很可能会导致脚本超时,因此请注意完成的数量,我们可以成批执行该过程。工作表是否有标题?查看示例工作表会很有帮助,这样我就可以看到数据的外观。数据确实有标题-会有在2到4个文档之间合并。这些列包含指向另一个Google文档的链接,而不是要附加到文档的数据。您好,尝试了这个,它将列的值附加到第1列中引用的文档的末尾-但是这些列是指向不同google文档的链接-理想情况下,我希望将该文档的全部内容合并到初始文档中
function mergeGoogleDocs() {
var ss=SpreadsheetApp.openById(ssid);
var sh=ss.getSheetByName('Sheet1');
var rg=sh.getDataRange();
var vA=rg.getValues();
//assuming no headers for now
vA.forEach(function(r,i){
var doc=DocumentApp.openById(r[0]);
var body=doc.getBody();
body.appendParagraph(r[1]);
body.appendParagraph(r[2]);
body.appendParagrsph(r[3]);
lsh.appendRow([r])
Logger.log(i+1);//just to keep track of how many iterations we get before a possible timeout
doc.saveAndClose();
});
}