テキストドキュメント内の一意の文字列を置き換える必要があるので(実際には多くの文字列ですが、それぞれが一意です)、試しdoc.editAsText().replaceText(old$,new$);
ましたが、うまくいきませんでした...これが使用するコードです。これは、必要な文字列を含むテンプレートをコピーします。ループで置き換えられます。
var doc = DocumentApp.openById(docId);;
var lib=["$titre","$nom","$prénom","$rue","$code","$ville","$pays"]
for(nn=1;nn<=selrange.length;++nn){
for(ll=0;ll<lib.length;++ll){
var old$ = (lib[ll]+nn).toString();
var new$ = selrange[nn-1][ll].toString();
var test = old$.replace(old$,new$);
Logger.log(new$+" = "+test);// this is indeed the new value
doc.editAsText().replaceText(old$,new$);
}
}
Logger.log(doc.getText())
}
ロガーは、変更されていないドキュメントのコンテンツを表示します。私は何が欠けていますか?
編集:情報については、Henriqueの答えの後にここに動作するコードがあります:
for(page=0;page<feuilles;++page){
var today=Utilities.formatDate(new Date(),FUS1,"dd-MM-yyyy")+"__"+Utilities.formatDate(new Date(),FUS1,"HH:mm")
var docname="IMPRESSION_page_"+Number(page+1)+"_"+today;
var docId=DocsList.copy(doctemplate,docname).getId();
var doc = DocumentApp.openById(docId);;
var lib=["titre","nom","prénom","rue","code","ville","pays"]
for(nn=1;nn<=16;++nn){
for(ll=0;ll<lib.length;++ll){
var olditem = ("#"+lib[ll]+nn+"#");
var newitem = selrange[nn-1+page*16][ll];
if(newitem==""){newitem=" "}
//Logger.log(olditem + " *"+newitem+"*")
doc.replaceText(olditem,newitem);
}
}
Utilities.sleep(300); // wait a bit between each doc creation
}