Outlook 起動時に PST のサイズをチェックして一定サイズを超えたらメールで通知するマクロ


コメントにて以下のご要望をいただきました。


はじめまして。
outlookの問題解決で参考にさせて頂いております。
outlook起動時に任意のファイル名のPSTファイル(アーカイブも含む)の容量が閾値を超えたらメールで管理部門に通知するような事はマクロで可能でしょうか。

Windows7 office2013

よろしくお願いします。


Outlook の起動時に何らかの処理をさせるには、Application オブジェクトの Startup イベントを使用します。

また、ファイルのサイズを確認するには、VBA の FileLen 関数を使用します。

マクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。

Private Sub Application_Startup()
     ' PST のファイル名を指定
     Const PST_FILE = "c:\pst\archive.pst"
     ' 閾値を MB 単位で指定
     Const WARN_SIZE_MB = 100
     ' メールの宛先アドレスを指定
     Const REPORT_TO = "administrator@example.com"
     ' メールの件名を指定
     Const REPORT_SUBJECT = "PST ファイル サイズ レポート"
     ' メールの本文を指定
     Const REPORT_BODY = "PST ファイルのサイズが閾値を超えました。"
     ' ファイル サイズが閾値を超えたらメール送信
     If FileLen(PST_FILE) / 1024 / 1024 > WARN_SIZE_MB Then
         Dim itmReport As MailItem
         Set itmReport = CreateItem(olMailItem)
         ' 宛先を指定し名前解決
         itmReport.To = REPORT_TO
         itmReport.Recipients.ResolveAll
         ' 件名と本文を指定
         itmReport.Subject = REPORT_SUBJECT
         itmReport.Body = REPORT_BODY
         ' 通知メールを送信
         itmReport.Send
     End If
End Sub

マクロの登録方法やメニューへの追加について

Outlook 起動時に PST のサイズをチェックして一定サイズを超えたらメールで通知するマクロ」への1件のフィードバック

  1. ご回答ありがとうございました。
    「ExchangeStoreType」と併用する事で、任意のファイル名のPSTファイルサイズを自動で取得して
    通知出きそうですね。
    非常に助かりました。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中