GASでGoogleドキュメントのテキストを置換する方法
Google Apps Script(GAS)でGoogleドキュメントのテキストを置換する方法について紹介します。
Googleドキュメントでの文字置換は割と必要になってきます。というのは、スプレッドシートのセルのような番地の概念がないので、テキストを自動で挿入する場合はあらかじめ特殊な記号を用意しておいて、それを番地代わりにテキストを挿入するというテクニックを使うからです。
Googleドキュメント側の準備
以下のようなドキュメントを用意しました。会社で使う報告書をイメージしたものです。各入力欄に{DATE}{DEPART}{NAME}{TITLE}という記号をあらかじめ入力しています。くれぐれも大カッコ[ ]で括らないように。正規表現のキーワードの1つなのでGAS側で問題が起きます。中カッコ{ }が無難でしょう。
ソースコード
ソースコードはこちらです。replaceTextメソッドでテキストの置換を行います。
const dicID = "(ドキュメントID)"; let doc = DocumentApp.openById(dicID); let body = doc.getBody(); body.replaceText('{DATE}', '2023年2月28日'); body.replaceText('{DEPART}', '営業部営業課'); body.replaceText('{NAME}', '山田太郎'); body.replaceText('{TITLE}', '月例業務報告書');
実行結果
実行結果は以下の通りです。各記号ごとにテキストが置換されたことがわかるかと思います。
一度置換すると記号は消えてしまうので1回だけしか機会はありません。テンプレートを用意してそれをファイルコピーしながら実行させるという手順がよろしいかと思います。
スポンサーリンク