非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBA: 特定のフォルダ内のファイルの更新状況を監視するマクロ

   

Excel上で特定のフォルダ内を常に監視し、ファイルの更新があったら知らせるマクロを作る必要があったので、作りつつ忘備録かねてこのブログに書き留めておきます。

ググると色々なやり方が見つかりましたが、Application.OnTimeを使って一定間隔でプロシージャを呼び出す方法が一番シンプルかなと思いました。

[ad#top-1]

まずは完成形の説明

[Start]ボタンを押すと、ある特定のフォルダ内のテキストファイル(*.txt)の一覧を一定間隔に見に行って列挙します。この時、ファイルが更新されたら(上書き保存されたり新規保存されたりしたら)、ファイル名の横に「更新」という文字が表示されます。

「更新」文字は次のチェックのタイミングで消えます。

[Stop]ボタンで更新を停止します。

 

ソースコード

こちらがソースコードです。

[start]ボタンに StartProcess()を、[Stop]ボタンに StartProcess()を登録したのが、前出のマクロとなります。

 

インターバルは2秒となっています。時間を変える場合は8行目の interval = 2 の値を変えればOKです。

インターバルは任意ですが、2秒はちょっと間隔が狭いかも。目的次第ですが10秒くらいでも十分かなとは思いました。

[ad#ad-1]

スポンサーリンク

 - Excel, VBA