Google Apps Scriptで簡単操作!ドキュメント内の語句を巧みに置換する方法

GASを使ってGoogleドキュメント内の語句を置換したいんだけど、どうやったらいいんだろう?この前、上司からドキュメントの大量置換を頼まれて、手動でやってたら時間かかっちゃって…
猫男
猫男
catman
catman
安心しろ、catmanに任せておけ。GASを使えばドキュメント内の語句を効率的に置換できるんだ。コードでその魔法を見せてやろう!

Google ドキュメント内の語句をGASで置換する基本

GAS(Google Apps Script)を用いると、Google ドキュメント内の語句を簡単に置換できる。方法は次の通りだ。

Google ドキュメントの準備

まずはGoogle ドキュメントを作成し、置換したい語句を用意しておこう。GASのスクリプトを使って操作するための準備が整ったら、次のステップに進もう。

ドキュメントをGASで開く

GASを使うには、まず指定したドキュメントを開く必要がある。

ドキュメントを開くための基本コードは以下だ。


function openDocument(docId) {
  var doc = DocumentApp.openById(docId);
  var body = doc.getBody();
  Logger.log(body.getText());
}

このコードは、指定したdocIdのドキュメントを開いて、その内容をログに出力するものさ。

語句の置換を行う

ドキュメントを開いたら、次は語句の置換を行おう。以下のコードがその手助けになる。

GASで語句を置換する基本コードだ。


function replaceTextInDocument(docId, searchText, replaceText) {
  var doc = DocumentApp.openById(docId);
  var body = doc.getBody();
  body.replaceText(searchText, replaceText);
  Logger.log('置換が完了しました: ' + searchText + ' → ' + replaceText);
}

指定したsearchTextをreplaceTextで置換する。このコードで、ドキュメント内の特定語句を一括置換できるのだ。

なるほど、指定した文字を一気に置換できるんだね!これなら大量の文書でも簡単に編集できそう!
猫男
猫男

GAS置換スクリプトの練習問題

  • Google ドキュメントのIDが「12345ABCDE」だとする。
  • 「oldText」を「newText」に置換するスクリプトを作成せよ。

 
 

問題の解答と解説

以下のスクリプトを使って問題を解決できる。


function replaceTextInMyDoc() {
  var docId = '12345ABCDE';
  var searchText = 'oldText';
  var replaceText = 'newText';
  var doc = DocumentApp.openById(docId);
  var body = doc.getBody();
  body.replaceText(searchText, replaceText);
  Logger.log('置換が完了しました: ' + searchText + ' → ' + replaceText);
}

このスクリプトでは、指定したdocIdのドキュメント内で、「oldText」を「newText」に置換している。

基本的な流れは次の通りだ。

  1. DocumentApp.openById(docId)でドキュメントを開く。
  2. getBody()でドキュメントの本文にアクセス。
  3. replaceText(searchText, replaceText)で語句を置換。

これで、GASによるGoogle ドキュメント内の語句置換方法をマスターしたのさ。練習を重ね、スキルを磨こう!

これで上司にも褒められそう!ありがとう、catman!ガンガンGAS使いこなしていくよ!
猫男
猫男
catman
catman
その調子だ。君がGASを使いこなせば、仕事のスピードが格段に上がるぞ!