テンプレートからドキュメントを作成していますが、表を正しい位置に挿入する方法がわかりません。
2D 配列としてメモリ内にテーブルがあり、テンプレートには次のようなプレースホルダーがあります (角かっこを含む):
... [表 1] ... [表 2] ... [表 3] ...
これらのプレースホルダーはそれぞれ 1x1 テーブルにあります。
最初の配列を正しい位置に挿入することができましたが、次のプレースホルダーを検索すると、配列は常に表 1 の後に挿入されます。
私のコードは次のとおりです(これをオンラインで見つけて、少し修正しました):
function insertTable(targetdoc, stringToReplace, tableValues) {
var body = targetdoc.getBody();
var searchElement = targetdoc.getActiveSection();
var searchType = DocumentApp.ElementType.TABLE;
var searchHeading = DocumentApp.ElementType.TABLE_CELL;
var searchResult = null;
// Search until the table is found.
while (searchResult = searchElement.findElement(searchType, searchResult)) {
var par = searchResult.getElement().asTable();
var tabletext = par.getText();
var substr=tabletext.search(stringToReplace);
if (substr >0 ) {
var childindex = body.getChildIndex(par);
var oTable = body.insertTable(childindex+1, tableValues);
return oTable;
}
}
}
呼び出しコードは次のとおりです。
var oTable = insertTable(oOutputFile,"["+cFieldID+"]",aTable);
ここで、oOutputfile は新しいドキュメント、cFieldID はプレースホルダー テキスト、aTable は 2D 配列です。
各配列を正しい位置に挿入するために、これを機能させるのを手伝ってくれる人はいますか?
ありがとう