質問: GmailApp.getMessagesForThreads(myThreads); myMsgs[0][0].createDraftReply('メール本文',{attachments: [newfile]}); } ``` ### 試したこと * odt変換前の複製ファイル(Googleドキュメント)の本文は正しく書き換えられています。 * body.replaceText()後、Logger.log(body)を取ると、書き換えられたStringを取得できました。 * fetchUrlの定義にて代入されているfileIDは、テンプレートのIDではなく複製後のIDが取得できていることをログを取って確認しています。 * fetchUrlで定義しているURLに、ドメイン名とfileIDを直接打ち込んでアクセスすると、書き換え後のodtファイルがダウンロードできました。 * 取得したBlobでodtファイルをメール添付ではなくcreateFileすると、書き換えられていないテンプレートままのファイルが保存されます。 知識が至らず恐縮ですが、お知恵をお貸しいただければ幸いです。
回答: Spreadsheetで似た状況で、SpreadsheetApp.flush()で対応した経験から。 ``` var doc = DocumentApp.openById(fileID); var body = doc.getBody() body.replaceText('ドキュメント内のテンプレート文言', '置き換え後の文言'); doc.saveAndClose(); //これ ``` でどうでしょうか?