Google Apps Scriptでの効率的なドキュメント読み込み方法を解説!

GASを使ってドキュメントを読み込む方法ってどうやるんだろう?やったことがなくて不安で…。
猫男
猫男
catman
catman
安心するんだ、catmanが「GASでのドキュメント読み込み」を手ほどきしよう。

GASでドキュメントを読み込む基本

Google Apps Script(GAS)を使えば、Googleドキュメントを簡単に操作できる。まずはシンプルな読み込みの基本を紹介しよう。


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

上記のコードはドキュメントを読み込んでその内容をログに出力する。

関数内のDocumentApp.openById(docId)は、ドキュメントIDを使ってドキュメントを開くメソッドだ。

doc.getBody()で文書の本文要素にアクセスし、getText()メソッドでそのテキストを取得している。

GASでのドキュメント内の要素の探し方

ドキュメント内の特定の要素を探すのも簡単だ。例えば段落だけを抽出する方法を見てみよう。


function readParagraphs(docId) {
  var doc = DocumentApp.openById(docId);
  var body = doc.getBody();
  var paragraphs = body.getParagraphs();
  
  paragraphs.forEach(function(paragraph) {
    Logger.log(paragraph.getText());
  });
}

このコードでは、getParagraphs()メソッドで文書内の段落を全て取得し、順番にログに出力している。

この方法を利用すれば、特定の構造を持つコンテンツを効率的に取り出せる。

ドキュメントを読み込んで加工する方法

GASで読み込んだドキュメントのデータを加工する手法も紹介しよう。以下のコードは、すべての単語を大文字にして表示する。


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

toUpperCase()メソッドを使って、読み込んだドキュメントのテキストを大文字に変換している。

このようにGASでは、JavaScriptのメソッドを活用してドキュメント内のデータを自由に加工できる。

GASで便利なドキュメント操作関数一覧

以下は、GASでドキュメントを扱う際によく使う便利な関数一覧だ。

関数名 用途
DocumentApp.openById() ドキュメントをIDで開く
DocumentApp.create() 新しいドキュメントを作成する
Body.getText() ドキュメントの全テキストを取得
Body.getParagraphs() ドキュメントの段落をすべて取得
Element.getText() 要素のテキストを取得
なるほど、GASってすごく柔軟にドキュメントを扱えるんだね!
猫男
猫男

まとめ:GASでのドキュメント操作をマスターしよう

  • GASでは簡単にGoogleドキュメントを読み込むことができる。
  • DocumentAppを使えば、ドキュメントにアクセス可能。
  • 段落やテキストの抽出も直感的にできる。
  • 加工もJavaScriptのメソッドで自在に行える。
よーし、僕もGASでいろんなドキュメントを操作してみたい!
猫男
猫男
catman
catman
その意気だ!ドキュメントを自在に操れるようになれば、GASの威力を実感できるさ。

練習問題

以下の問題を解いて、GASでのドキュメント読み込みの理解を深めよう。

指定した文字列がドキュメント内に含まれているか判定し、結果をログに出力するスクリプトを書いてみよう。

解答・解説


function findInDocument(docId, searchString) {
  var doc = DocumentApp.openById(docId);
  var body = doc.getBody();
  var text = body.getText();
  
  if (text.includes(searchString)) {
    Logger.log("文字列が見つかりました!");
  } else {
    Logger.log("文字列が見つかりません!");
  }
}

このスクリプトは、ドキュメントをIDで開いて本文を取得し、includes()メソッドで検索したい文字列が含まれているかを判断している。

結果に応じて、ログに「文字列が見つかりました!」もしくは「文字列が見つかりません!」と出力される。