GASファイル管理自動化|社内SEがやるべきGoogle Drive整理術【実践フロー付】

RPA・自動化

「共有ドライブが無法地帯になっている」「定期的なファイル整理、誰もやってくれない」「古いファイルが多すぎて、どれが最新版かわからない」。自分も社内SEとして、Google Driveの管理に頭を悩ませていました。

こんな状況、あなたの職場でも起きていませんか?

  • 「最終版」「最新版」「最終版2」が同じフォルダに混在している
  • 退職した社員のマイドライブが共有されたまま残っている
  • 「リンクを知っている全員が編集者」のファイルがどこにあるか把握できていない

手作業で整理しようにも、ファイルが多すぎて途中で挫折。結局、見て見ぬふりをしてしまう、という悪循環です。

しかし、GASファイル管理自動化を試してみると、この状況は一変しました。一度スクリプトを組んでしまえば、あとはGASが24時間365日、文句も言わずにファイル整理をしてくれます。最初は難しそうに感じますが、基本的なパターンさえ覚えれば、驚くほど簡単に実装できます。

先に結論:GASで自動化すべきファイル管理トップ3

効果が高く実装しやすい、この3つの自動化から始めるのがおすすめです。

#自動化フロー難易度効果
古いファイルの自動アーカイブ★☆☆ドライブ容量の節約と検索性向上
ファイル名のルールに基づく自動整理★★☆属人化していたフォルダ整理を完全自動化
共有設定の定期的な棚卸し★★★セキュリティリスクの可視化と漏洩防止

社内SEがGoogle Driveのファイル管理に抱える課題

多くの企業で、Google Driveは以下のような課題を抱えています。

  • 無法地帯化: 命名規則が守られず、フォルダ構造が崩壊しています。
  • 容量の圧迫: 不要なファイルや古いバージョンが削除されずに溜まり続けます。
  • 検索性の低下: 必要な情報を見つけるのに時間がかかり、生産性が落ちます。
  • セキュリティリスク: 不適切な共有設定(「リンクを知っている全員」など)が放置されています。

これらの課題を手作業で解決するのは、もはや現実的ではありません。

実際にあった失敗例

ファイル管理をExcel台帳+手作業で運用していた結果、「社外秘」フォルダが「リンクを知っている全員が閲覧可能」のまま半年以上放置されていた、というケースを聞いたことがあります。担当者が異動した際に引き継ぎが漏れていたのが原因でした。「うちは大丈夫」と思っていても、同じ状況はどこの会社でも起きえます。

GASでファイル管理を自動化する3つのメリット

GASを導入することで、これらの課題を根本的に解決できます。

1. ミス削減とデータ保全性の向上

人の手を介さないため、ファイルの誤削除や移動ミスがなくなります。スクリプトが定義されたルール通りに処理するため、ヒューマンエラーがゼロに近づきます。

2. 処理時間の短縮とリソースの最適化

社内SEがファイル整理に費やしていた時間を、より戦略的な業務に充てられます。月に数時間かかっていた棚卸し作業が、GASのトリガー設定によって0分になります。自分の環境では、月次の棚卸しに2〜3時間かけていたのが、設定後はほぼゼロになりました(環境によって異なります)。

3. 情報ガバナンスの強化とセキュリティリスクの低減

ファイルの共有設定を自動で監視し、不正な状態を検知・修正できます。全社共有フォルダ内で「一般公開」されているファイルをリストアップし、管理者に毎週メールで通知する、といった運用も可能です。

GASで実現するファイル管理自動化のアイデア

具体的にどのような自動化が可能か、3つの実践的なアイデアを紹介します。

1. 古いファイルの自動アーカイブ・削除

  • 「180日以上更新がないファイル」を自動で「アーカイブ」フォルダに移動します。
  • 「アーカイブ」フォルダ内で「3年以上経過したファイル」を自動でゴミ箱に移動します。

ドライブの容量を確保しながら、検索対象をアクティブなファイルに絞り込めます。

2. 条件に基づくファイルの自動移動

  • ファイル名に「【見積書】」と含まれていたら、「案件別フォルダ」>「見積書」サブフォルダに移動します。
  • 特定の社員がアップロードしたファイルを、その社員専用のフォルダに移動します。

ファイルが作成・更新された時点で、適切なフォルダに自動で振り分けられるのが便利です。

3. 共有設定の一括変更・棚卸し

  • 特定のフォルダ配下で「リンクを知っている全員が編集者」になっているファイルの権限を「閲覧者」に一括変更します。
  • 棚卸し結果をGoogleスプレッドシートに自動出力し、管理部署に報告します。

関連記事:社内SE向けAI利用ガイドライン|情報漏洩を防ぐ実務ルールとテンプレート

【実践】GASでファイル自動整理フローを作成する手順

ここでは最もニーズの高い「1年以上更新がないファイルをアーカイブフォルダへ移動する」スクリプトを例に、作成手順を解説します。

1. スクリプトプロジェクトの作成とDrive APIの有効化

  1. Google Driveで「新規」 > 「その他」 > 「Google Apps Script」をクリックします。
  2. 無題のプロジェクトが開きます。
  3. 左メニューの「サービス」の横にある「+」アイコンをクリックします。
  4. リストから「Drive API」を選択し、「追加」ボタンを押します。(※Google Drive API v3を有効にします)
「新規」 > 「その他」 > 「Google Apps Script」
Google Apps Scriptの選択
「サービス」の横にある「+」アイコンをクリック
サービスを追加
「Drive API」を選択
Drive APIの追加

2. 目的のフォルダIDを取得する方法

GASでは、フォルダを「ID」で指定するのが確実です。

  1. Google Driveで対象のフォルダ(整理したいファイルがあるフォルダ)を開きます。
  2. ブラウザのアドレスバーに表示されるURLの末尾部分がフォルダIDです。

https://drive.google.com/drive/folders/ここに表示される英数字の羅列

  1. 同様に、移動先の「アーカイブ」フォルダのIDも控えておきます。

3. サンプルコードと実装例

以下のコードをコピーし、エディタに貼り付けてください。

function archiveOldFiles() {
  // ▼▼▼ ここから設定 ▼▼▼
  const TARGET_FOLDER_ID = '整理したいフォルダのIDをここに貼り付け';
  const ARCHIVE_FOLDER_ID = 'アーカイブ先フォルダのIDをここに貼り付け';
  const DAYS_AGO = 365; // 365日以上更新がないファイルを対象とする
  // ▲▲▲ ここまで設定 ▲▲▲

  try {
    const targetFolder = DriveApp.getFolderById(TARGET_FOLDER_ID);
    const archiveFolder = DriveApp.getFolderById(ARCHIVE_FOLDER_ID);
    const files = targetFolder.getFiles();
    const now = new Date();
    const thresholdDate = new Date(now.setDate(now.getDate() - DAYS_AGO));

    while (files.hasNext()) {
      const file = files.next();
      const lastUpdated = file.getLastUpdated();

      // 最終更新日が閾値より古いファイルをアーカイブフォルダへ移動
      if (lastUpdated < thresholdDate) {
        console.log(`アーカイブ対象: ${file.getName()} (最終更新日: ${lastUpdated})`);
        file.moveTo(archiveFolder);
      }
    }
    console.log('処理が完了しました。');
  } catch (e) {
    // エラー発生時はログに出力(MailApp.sendEmail()でメール通知も可能)
    console.error(`エラーが発生しました: ${e.message}`);
  }
}

コードのカスタマイズが難しいと感じる場合は、AIに依頼するのも有効です。

関連記事:ChatGPTでVBAを自動生成する方法|社内SE向け実践テンプレート10選とエラー対処

4. トリガー設定で定期的な自動実行を設定する

  1. 左メニューの「トリガー」(時計のアイコン)をクリックします。
  2. 右下の「トリガーを追加」ボタンを押します。
  3. 以下の通り設定し、「保存」をクリックします。
  • 実行する関数を選択: archiveOldFiles
  • イベントのソースを選択: 時間主導型
  • 時間ベースのトリガーのタイプを選択: 週タイマー(例)
  • 曜日を選択: 月曜日(例)
  • 時刻を選択: 午前 1 時~2 時(例:業務時間外)

これで、毎週月曜日の深夜にスクリプトが自動実行されるようになります。業務時間外に動かすのがポイントで、万が一処理が重くなっても影響が出ません。

実際に使ってみた結果

  • かかった時間: 初期設定(フォルダID取得・コード貼り付け・トリガー設定)で約30分。コードのカスタマイズを含めても1〜2時間以内に完了できます。
  • 削減できた時間: 月次の手動棚卸しに2〜3時間かかっていたのが、ほぼゼロになりました(目安として、環境によって異なります)。
  • 詰まったポイント: 最初にDrive APIの有効化を忘れてエラーになりました。また、初回実行時の「承認が必要です」画面で何をしていいかわからず、数分止まりました。
  • 正直な感想: 正直なところ、もっと早くやればよかったと感じています。設定そのものは30分もあれば終わるのに、「なんとなく難しそう」という理由で半年以上放置していました。

結論(社内SEならこう使う)

まず「1年以上更新なし→アーカイブ移動」のスクリプト1本を動かしてみてください。それだけでドライブの見通しが劇的によくなります。慣れてきたら共有設定の棚卸しに展開すると、セキュリティ監査の工数も大幅に削減できます。

GASファイル管理自動化を運用する際の注意点

導入後に失敗しないためのポイントを3つ紹介します。

1. エラー発生時の通知設定

スクリプトがエラーで停止した際に、管理者に通知が届くように設定しておきましょう。try...catch構文とMailApp.sendEmail()を組み合わせ、エラー内容を自分宛てにメール送信するのが手軽です。

2. 処理対象ファイルの権限

GASは「スクリプトを実行したユーザー(トリガーを設定したユーザー)」の権限で動作します。全社的なファイルを整理する場合、情報システム部門の管理者アカウントでトリガーを設定しないと、権限不足でエラーになる可能性があります。

3. 定期的なスクリプトの見直し

組織変更や業務内容の変更に伴い、フォルダ構成やルールが変わることがあります。半年に1回程度はスクリプトの内容を見直し、現状の運用に合っているかを確認するのがおすすめです。

⚠️ よくある落とし穴:GASには1回の実行時間に6分という制限があります。数万件のファイルを一度に処理しようとするとタイムアウトで失敗するため、最初は対象期間を短くする(例:30日)など、スモールスタートで試してください。

⚠️ よくある落とし穴:初めてスクリプトを実行する際やトリガー設定時に「承認が必要です」という画面が表示されます。内容を確認し、「許可」しないとスクリプトは動作しません。

まとめ:GASファイル管理自動化でGoogle Driveをスマートに保つ

Google Driveのファイル管理は、手作業には限界があります。

  • 結論: GASファイル管理自動化を使えば、Google Driveの整理・整頓を自動化できます。
  • 具体例: 古いファイルのアーカイブ、ルールベースの自動振り分け、共有設定の監視などが対応可能です。
  • 始め方: まずは本記事のサンプルコードを参考に、「古いファイルのアーカイブ」から試してみてください。

一度設定してしまえば、あとはGASが黙々と働き続けてくれます。煩雑なファイル管理から解放されて、より付加価値の高い業務に集中できるようになります。

関連記事:社内SEが自動化すべき業務10選|現場で使える具体例と実装手順
関連記事:VBAとPower Automateの違い|社内SEはどちらを使うべきか【結論あり】

タイトルとURLをコピーしました