« エアコンの配管保温材とウォシュレットの便座配線を補修してみた | トップページ | キッチンのコーキングをやってみた »

2019年8月18日 (日)

outlookメールの添付ファイル名を検索するVBScriptを作成してみた

今回は、自分の仕事で使う目的で作成した「outlookを操作するVBScriptシリーズ」の恐らく最終回である。

これまでのこのシリーズの出し物は以下の通りである。

今回は、outlookの添付ファイルを検索し、ファイル名の中に、指定した文字列を含むものを検索するスクリプトである。

使い方は、以下の通りである。

まず、事前準備として、本記事の最後に添付されている「search_for_attached_files_in_outlook.vbs」を任意の場所に置いておく。
あとは、outlook上で検索対象のメールを選択した状態で(もちろん複数選択可)、このvbsファイルをダブルクリックして実行するだけである。

実行すると「ファイル名の一部を指定してください。」というメッセージと入力ウィンドウが現れるので検索文字列を入力すると、検索完了後に、

  • 1件でも見つかった場合は「N件のファイルが見つかりました。情報をクリップボードにコピーしました。」
  • 1件も見つからなかった場合は「該当ファイルは見つかりませんでした。」

のいずれかを表示し終了する。

前者の場合は、Ctrl-v などの貼り付け操作で、Excelやテキストエディタなどにクリップボードの内容を貼りつけると

見つかった添付ファイル名,  該当メールの受信日時,  件名,  送信者

の一覧(各項目はタブ区切り)を見ることができる。

留意事項としては以下の通り。

  • 一度に入力できる検索文字列は1つだけで、ファイル名の中に、その文字列を完全一致で含むものだけがヒットする。
  • 実行中にoutlookへのアクセス許可を求める以下のダイアログが表示された場合は「許可」を選択する。
    Outlook_acceess_permission

 

以下がスクリプトである。


Option Explicit

Dim objOA, objSelection, objItm, objAtt, objWS
Dim I, MySrch, MyCnt, Mystring

Set objOA = CreateObject("Outlook.Application")

Set objSelection = objOA.ActiveExplorer.Selection
If objSelection.Count = 0 Then
 MsgBox "メールが選択されていません。"
 WScript.Quit
End If

MySrch = InputBox("選択されたメールの添付ファイル名を検索します。" & vbCrLf & "ファイル名の一部を指定してください。")

If Len(MySrch) = 0 Then
 WScript.Quit
End If

MyCnt = 0
Mystring = ""
For I = 1 To objSelection.Count
 set objItm = objSelection.Item(I)
 For Each objAtt In objItm.Attachments
  If InStr(1,objAtt.FileName,MySrch,1) > 0 Then
   MyCnt = MyCnt + 1
   Mystring = Mystring & vbCrLf & objAtt.FileName & vbTab & objItm.ReceivedTime & vbTab & objItm.Subject & vbTab & objItm.Sender
  End If
 Next
Next

If MyCnt > 0 Then
 Mystring = "ファイル名" & vbTab & "受信日時" & vbTab & "件名" & vbTab & "送信者" & Mystring
 MsgBox(MyCnt & "件のファイルが見つかりました。情報をクリップボードにコピーしました。")
 Set objWS = CreateObject("WScript.Shell")
 objWS.Exec("clip").StdIn.Write Mystring
Else
 MsgBox("該当ファイルは見つかりませんでした。")
End If


 

ファイルのダウンロードは、以下のリンクを右クリックで「保存」(ファイルの文字コードは SJIS)

ダウンロード - search_for_attached_files_in_outlook.vbs

 

では。

 

|

« エアコンの配管保温材とウォシュレットの便座配線を補修してみた | トップページ | キッチンのコーキングをやってみた »

コメント

コメントを書く



(ウェブ上には掲載しません)




« エアコンの配管保温材とウォシュレットの便座配線を補修してみた | トップページ | キッチンのコーキングをやってみた »