googleスプレッドシートとドキュメントを使用し、officeのExcelとwordの差込印刷をGASを使用し申込書を作成しました。スプレッドシートの一覧は写真①の感じです
これを下記のコードでドキュメントに写し申込書を作成しています
1function insertName2(){ 2const templateDocId = "××××××××××××××××××××××××××××××××××××"; 3const keys = ['{ふりがな}','{名前}','{性別}','{学年}','{年齢}','{種別}','{電話番号}','{施設}','{レベル}','{バス希望}','{バスルート}','{バス停留所}']; 4 5const template = DriveApp.getFileById(templateDocId); 6if(template.getMimeType() !== "application/vnd.google-apps.document") return; 7 8const table = DocumentApp.openById(templateDocId).getBody().getTables()[0]; 9 10const folder = DriveApp.createFolder((new Date()).toISOString()); 11const printfileID = template.makeCopy("印刷用紙", folder).getId(); 12 13 14const printDoc = DocumentApp.openById(printfileID); 15const body = printDoc.getBody() 16const data = SpreadsheetApp.getActiveSheet().getDataRange().getValues(); 17 18for(i=1; i<data.length; i++){ 19keys.forEach((k,j)=>body.replaceText(k,data[i][j])); 20 if (i < data.length - 1){ 21 body.appendTable(table.copy()); 22 body.appendPageBreak(); 23 } 24}; 25 26}
そうするとドキュメントの1枚目の写真のようにデータが入ります
11件データがドキュメントに反映される予定ですが、2枚目以降、写真2のように領収書部分がなぜか出ません。
以前別のデータで試した際はうまく申込書の領収書部分も全てのドキュメントで出たのですが
コードがおかしいのでしょうか?困っております。
スプレッドシートURL https://docs.google.com/spreadsheets/d/18_e2MtWAGXM-eH_PcOYFTngFdkbqirMHD23DWaCflWE/edit?usp=sharing
ドキュメントURL https://docs.google.com/document/d/1pxHdAuTfRzMultE8Akgwl96eqR07OWnTmbRYR9RRsVE/edit?usp=sharing
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/02 06:01
2021/04/02 20:07 編集
2021/04/03 10:30
2021/04/04 10:29 編集
2021/04/03 13:34