【Excel VBA】フォルダ自動管理ツール 導入報告書

1. 開発の背景と目的

手動によるフォルダ操作(切り取り・貼り付け)は、一見単純な作業ですが、大規模なデータ管理においては以下のような重大なリスクと課題を内包しています。

  • 人的ミスの発生リスク: 移動先の取り違えや移動漏れが発生しやすく、データ紛失や管理体制の不備に直結する恐れがあります。
  • 作業進捗の管理困難: どのフォルダを移動済みか、どのフォルダが未処理かをリアルタイムに把握する手段がなく、作業の不透明さが課題となっていました。
  • 正確な記録保持(トレーサビリティ)の欠如: 「いつ、誰が、何を、どこへ」移動したのかというエビデンスが残らないため、事後の監査やトラブルシューティングが困難です。

本ツールは、これらのリスクを排除し、業務の正確性と透明性を担保するための「堅牢な自動化基盤」として開発されました。

2. システム概要

本ツールは、Excelをコントロールパネルとし、Windowsのファイルシステムと高度に連携する自動フォルダ移動システムです。

  • 技術的基盤:
    • FileSystemObject (FSO) の採用: 標準的なVBA命令ではなく、ファイル操作に特化した「FSO」を採用しました。これにより、フォルダの存在確認や詳細なエラーハンドリングが可能となり、システムの**堅牢性(Robustness)**を向上させています。
    • バックグラウンド処理: ユーザーの作業を妨げないよう、コマンドプロンプト等の表示を排したステルス実行を実現しています。
  • 基本構造とロジック:
    • 指定された「[ルートパス]」を起点とし、シート上の設定に基づき以下の構成で移動を実行します。
    • 移動元: [ルートパス] \ [B列:元階層] \ [A列:会社名フォルダ]
    • 移動先: [ルートパス] \ [C列:移動先階層] \
    • ※移動処理は、A列に指定された「会社名フォルダ」そのものを、C列で指定された階層の中へと移設する仕組みです。
  • プロセス・トレース機能: ワークフローの完遂を証明する「サクセストークン」として、処理終了時にデスクトップ上での一時ファイル(BATファイル)の生成・削除サイクルを組み込んでいます。これにより、レガシーな運用環境との親和性を保ちつつ、クリーンなシステム環境を維持します。

3. 主要機能と安全対策(リスク管理)

ITアーキテクトの視点から、データの整合性を守るための「4段階の安全チェック」およびエラー耐性を実装しています。

  • 重要:運用上の大原則 本ツールによる移動処理は、OSレベルの操作であるためExcelの「元に戻す(Undo)」機能は使用できません。このリスクを回避するため、以下の自動チェックが実行されます。
  • 4段階の安全チェック:
    1. 元フォルダの存在確認: 移動対象([ルートパス] + B列 + A列)が実在するかを検証。
    2. 移動先親階層の存在確認: 受け皿となるフォルダ([ルートパス] + C列)が事前に準備されているかを検証。
    3. 同名フォルダの重複確認: 移動先に既に同名のフォルダが存在しないかを確認し、予期せぬ上書きや衝突を防止。
    4. 例外エラー捕捉(継続処理ロジック): ファイルが他ユーザーに使用されている等のエラーを検知した場合、On Error Resume Nextロジックにより、当該フォルダの処理のみをスキップして次の処理へ移行します。システム全体を停止させない「止まらないバッチ処理」を実現しています。
  • リアルタイム・ログ記録: 実行結果をD列へ即座に書き出します(「成功」または具体的なエラー理由)。
  • 一括処理と完了通知: 最終行までの自動実行後、成功件数をダイアログで通知します。

4. 運用フロー

ユーザーは以下の手順で安全にツールを操作します。

  1. 事前準備(Step 0): ネットワーク環境(VPN等)を確認し、[ルートパス]へ正常にアクセスできる状態にします。
  2. データ入力: 「フォルダ変更」シートの6行目以降に情報を入力します。
    • A列: プロジェクト名/会社名(移動させるフォルダの名前)
    • B列: 元のフォルダ階層名
    • C列: 移動先のフォルダ階層名
    • Tips: 特定の行をスキップしたい場合は、A列(会社名)を空欄にすることで、その行の処理を回避できます。
  3. 実行: マクロ「MoveFoldersAndReportResult」を起動します。
    • ※6行目にデータが存在しない場合、ガード句により処理は安全に中断されます。
  4. 結果確認: 完了メッセージを確認し、D列の実行ログを精査します。
  5. 例外対応: D列に「失敗」と表示された場合は、以下の表に基づき対処してください。
D列の表示メッセージ原因と対策
失敗:元フォルダが存在しませんA列(会社名)またはB列(階層名)が実際の名称と不一致です。スペルや全角・半角を確認してください。
失敗:移動先の階層が存在しませんC列に入力した移動先の階層フォルダが未作成です。先にフォルダを作成してください。
失敗:移動先に既に同名フォルダがあります移動先に同名のフォルダが既に存在します。手動で整理後に再実行してください。
失敗:Permission denied (書き込み禁止)フォルダ内のファイルが自身または他のユーザーによって開かれています。全てのファイルを閉じて再実行してください。

5. 期待される効果

  • 作業精度の極大化: 4段階のバリデーションロジックにより、手動操作特有の「取り違え」や「不注意による上書き」を構造的に排除します。
  • 工数削減と生産性向上: 一括処理により、フォルダ数に比例して増大していた手作業時間をゼロに近づけます。
  • エビデンスの自動生成: 実行結果がExcel上に残ることで、作業記録としての透明性が確保され、管理者の確認コストを大幅に削減します。
  • 運用の標準化: 属人的な操作介入を排することで、誰が実行しても同一の、信頼性の高い結果を得られる安定した運用体制を確立します。

\ 最新情報をチェック /