【Googleドキュメント】Apps Scriptでドキュメントを自動分類!タグ付けの自動化

【Googleドキュメント】Apps Scriptでドキュメントを自動分類!タグ付けの自動化
🛡️ 超解決

Googleドキュメントで作成するファイルが増えてくると、目的ごとに分類したりタグを付けたりするのが面倒になります。手作業で一つ一つタグを追加するのは時間がかかり、ミスも起こりやすいです。この記事では、Apps Scriptを使ってドキュメントの内容を自動で解析し、キーワードに応じて自動的にタグを付ける方法を解説します。コードの書き方からトリガーの設定まで、初心者でも実践できる手順を紹介しますので、ぜひ参考にしてください。

【要点】Apps Scriptでドキュメントを自動分類するための3つのステップ

  • DocumentApp.getBody().getText() で全文取得: ドキュメントの本文をテキストとして取得し、キーワード判定の材料にします。
  • キーワードリストとif文で分類: カテゴリごとにキーワードを配列に格納し、本文に含まれるかをチェックしてタグを決定します。
  • DriveAppでファイルの説明文にタグを追加: ファイルの説明フィールドをタグとして利用し、後から検索やフィルタリングに活用します。

ADVERTISEMENT

Apps Scriptを使った自動分類の仕組み

Googleドキュメントには標準でタグ付け機能がありません。そこで、Apps Scriptを使ってドキュメントの内容を読み取り、一定のルールに従って分類し、ファイルのプロパティや説明欄にタグ情報を書き込む方法を採用します。Apps ScriptはGoogleのサービスを操作するためのスクリプト環境で、DocumentAppやDriveAppといったクラスを使うことでドキュメントやファイルを自在に操れます。また、時間主導型トリガーを設定すれば、定期的に自動処理を実行できます。

具体的な流れは以下の通りです。まず、スクリプトで全てのドキュメント(または特定のフォルダ内)を取得します。次に、各ドキュメントの本文を読み込み、あらかじめ定義したキーワードリストと照合します。例えば「見積書」「請求書」「契約書」などの単語が本文に含まれていれば、該当するカテゴリとしてタグを生成します。最後に、そのタグをファイルの説明文に追記します。この一連の処理をトリガーで定期的に実行することで、新しいドキュメントも自動的に分類されるようになります。

Apps Scriptで自動分類を実装する手順

ここからは、実際にスクリプトを作成して自動分類を設定する手順を説明します。Googleドキュメントのスクリプトエディタを開き、コードを記述していきます。

1. スクリプトエディタを開く

  1. ドキュメントを開く
    自動分類の対象となるGoogleドキュメントを開きます。このドキュメントにスクリプトを紐付けます。
  2. 拡張機能メニューからApps Scriptを開く
    メニューバーの「拡張機能」をクリックし、「Apps Script」を選択します。別タブでスクリプトエディタが開きます。

2. 分類ロジックを記述する

  1. プロジェクトに名前を付ける
    左上の「無題のプロジェクト」をクリックして、わかりやすい名前(例:「自動タグ付け」)に変更します。
  2. コードを記述する
    デフォルトの「コード.gs」に以下のような関数を記述します。
    function classifyDocument() {
    var doc = DocumentApp.getActiveDocument();
    var body = doc.getBody();
    var text = body.getText();
    var tags = [];
    if (text.indexOf('見積書') !== -1) tags.push('見積');
    if (text.indexOf('請求書') !== -1) tags.push('請求');
    if (text.indexOf('契約書') !== -1) tags.push('契約');
    // 他のキーワードも同様に追加
    var file = DriveApp.getFileById(doc.getId());
    var description = file.getDescription() || '';
    tags.forEach(function(tag) {
    if (description.indexOf(tag) === -1) {
    description += (description ? ', ' : '') + tag;
    }
    });
    file.setDescription(description);
    }
  3. 説明文にタグを保存する
    Googleドライブのファイルには「説明」フィールドがあります。この例では、その説明欄にカンマ区切りでタグを追加しています。後からドライブの検索で「説明:見積」と入力すれば、該当ドキュメントを絞り込めます。

3. トリガーを設定する

  1. トリガー画面を開く
    スクリプトエディタの左側の時計アイコン(トリガー)をクリックします。
  2. トリガーを追加する
    右下の「トリガーを追加」をクリックし、以下の設定を行います。
    ・実行する関数: classifyDocument
    ・イベントのソース: 時間主導型
    ・時間の間隔: 1時間ごと(または任意の間隔)
    ・失敗通知: 必要に応じて設定
    これで、定期的にスクリプトが実行され、新しいドキュメントにも自動でタグが付きます。

上記の手順で、開いているドキュメント1つに対してのみ動作します。複数のドキュメントを一括処理したい場合は、DriveAppでフォルダ内のファイルをループさせるようにコードを変更してください。

自動タグ付けを運用する際の注意点

キーワードの重複に注意する

同じドキュメントに複数のキーワードが含まれる場合、複数のタグが付与されます。意図しないタグを防ぐには、キーワードリストを優先順位付きにするか、特定の組み合わせを除外するロジックが必要です。

説明文が長くなりすぎる問題

ファイルの説明文には文字数制限があります(約2000文字)。タグが多くなりすぎると古いタグが切れる可能性があるため、定期的に整理するか、タグ数を制限する処理を追加しましょう。

権限エラーへの対処

スクリプトを初めて実行する際、権限の承認が求められます。自分が所有するドキュメントのみを対象とする場合でも、DriveAppのアクセス権限が必要です。承認画面で指示に従って許可してください。

トリガーの実行頻度

トリガーの間隔を短くしすぎると、Googleの割り当て制限に達する可能性があります。1時間に1回程度が無難です。大量のファイルを処理する場合は、一度だけ実行するトリガーにして、手動で起動することも検討しましょう。

ADVERTISEMENT

手動タグ付けと自動タグ付けの比較

項目 手動タグ付け Apps Scriptによる自動タグ付け
作業時間 1ファイルあたり数十秒かかる 設定後はほぼゼロ
正確性 人為ミスが発生する可能性がある ルールに従い常に一貫している
柔軟性 直感的に自由なタグを付けられる キーワードルールの変更が必要
初期設定 不要 スクリプト記述とトリガー設定が必要
メンテナンス 都度手間がかかる キーワード追加程度で済む

この比較からわかる通り、大量のドキュメントを扱う場合や、タグルールが明確な場合は自動化に大きなメリットがあります。一方、臨機応変なタグ付けが必要な場面では手動も併用するとよいでしょう。

まとめ

この記事では、GoogleドキュメントとApps Scriptを組み合わせて、ドキュメントを自動分類しタグを付ける方法を解説しました。DocumentAppで本文を取得し、DriveAppで説明文にタグを保存する基本パターンを理解すれば、キーワードリストを拡張して任意の分類ルールを実現できます。まずは1つのドキュメントで動作を確認し、その後フォルダ全体への適用やトリガーによる定期実行に挑戦してみてください。スクリプトの内容をカスタマイズすれば、顧客名や日付で分類するなど、さらに高度な自動化も可能になります。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

SPONSORED