Outlookで添付ファイルの自動保存を目指して――まずは写経、丸写し
けっこう苦労したが、なんとかマクロはできた。というか、OUTLOOK研究所の「受信したメールの添付ファイルを自動保存するマクロ」という、私のやりたいことそのもののタイトルの記事で紹介されていたマクロに微調整を加えただけ。OUTLOOK研究所のマクロは、これぞ私のためのサンプルではないか!と思ったが、さすがに多少の変更は必要だった。その多少の微調整に苦労した。2007年に書かれた記事なので、もしOutlookの方が何か変わっていて、マクロが使えなくなっているかもしれない、とちょっと心配したが、ありがたい事にその手の問題はなかった。
元にさせていただいたサンプルが2段構えだったので、私のマクロも同様。まず1段目。
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim i As Integer
Dim c As Integer
Dim colID As Variant
If Instr(EntryIDCollection, ",") = 0 Then
SaveAttachments EntryIDCollection
Else
colID = Split(EntryIDCollection, ",")
For i = LBound(colID) To UBound(colID)
SaveAttachments colID(i)
Next
End If
End Sub
この部分は、OUTLOOK研究所さんのものと全く同じ。丸写し。とにかくメールを受診したら、メールごとにふられているIDを取得する、というもの。同時にメールが来た場合の処理もバッチリ。同時にメールが来ることは、私の実務上はまずないのだが、まあ別に邪魔にはならないので置いておく。
調整もしていないので、一つ一つのコマンドの意味は十分にわかってはいないのだが、とりあえず、メール受信というイベントで動き出すマクロがこれでできた。
主たる部分である添付ファイルの保存は2段目となる。