我有一堆谷歌文档,我想连接成一个全新的文档。基本上我想做相当于Unix的命令:
cat 1.txt 2.txt 3.txt> 4.txt
我似乎无法从Apps Scripts文档中找出最佳方法。有人会碰巧知道吗?
我尝试了以下内容:
// ... code omitted
var entries = [];
while (files.hasNext()) {
var file = files.next();
var name = file.getName();
if (file.getOwner().getName() != 'My Name') continue
var re = /Pattern I am looking for - \d\d/g;
if (name.match(re) == null) continue;
entries.push( {"Name" : name, "File" : file} );
}
entries.sort(function(a,b) { return a.Name.localeCompare(b.Name); });
// Open the Full.txt file and add each file into it in sequence.
var fullDoc = DocumentApp.create('Full.txt');
entries.forEach(function(e) {
var contents = e.File.getAs('text/plain');
// Haven't yet gotten to sticking contents into the target file
// because content retrieval itself fails with the message:
// "Converting from application/vnd.google-apps.document to text/plain
// is not supported. (line 51, file "DocMerge")"
return;
});
感谢。
-av
答案 0 :(得分:0)
您需要使用DocumentApp打开文件,以便检索文档内容。正如您所看到的,不支持直接转换为纯文本(尽管它很方便)。
var source_doc = DocumentApp.openById(e.File.getId());
var contents = source_doc.getBody().getText();
根据您的使用情况,您可能还需要获取页眉/页脚部分,也可以跳过使用getText()并使用Body.copy()创建可以插入的body元素的副本另一个医生。这种方法可以保留格式。