- 締切済み
Outlookで添付ファイルだけを簡単に抽出したい
OutlookでCSVファイルが添付されたメールが300通ほどあるのですが、添付ファイルのみを簡単に抽出する方法ご存知の方、是非教えて下さい。 expressであればシェアウェアで抽出するソフトがあるのですが・・・
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- tubumame
- ベストアンサー率63% (7/11)
こんにちは。 outlookのメニューから"ツール"->"マクロ"->"Visual Basic Editor"でVisual Basic Editorを起動し、 以下のマクロを作成します。 Public Sub SaveAllTempFile() Dim personalFolder As MAPIFolder Dim requestsFolder As MAPIFolder Dim object As Object Dim appNameSpace As NameSpace Dim requestMailItem As MailItem Dim mailCount As Integer Dim folderCount As Integer Dim tempCount As Integer 'ルートフォルダの取得 Set appNameSpace = Application.GetNamespace("MAPI") Set personalFolder = appNameSpace.Folders.Item(1) 'ルートフォルダ配下のフォルダ件数分ループ For folderCount = 1 To personalFolder.Folders.Count 'フォルダ一覧からfolderCount件目のフォルダを取得 Set requestsFolder = personalFolder.Folders.Item(folderCount) '現在のフォルダに存在するメールの件数分ループ For mailCount = 1 To requestsFolder.Items.Count '現在のフォルダのmailCount件目のメールのタイプをチェック '普通のメールの場合はMailItemだが、開封通知などはMailItemでは無いため 'のチェック If TypeOf requestsFolder.Items.Item(mailCount) Is MailItem Then '現在のフォルダからmailCount件目のメール取得 Set requestMailItem = requestsFolder.Items.Item(mailCount) '添付ファイル付きメールなので添付ファイルの件数分ループ For tempCount = 1 To requestMailItem.Attachments.Count '添付ファイルの拡張子をチェック(csv形式のファイルかどうかのチェック) If Right(requestMailItem.Attachments.Item(tempCount).FileName, 3) = "csv" Then '添付ファイルを保存ディレクトリに保存 requestMailItem.Attachments.Item(tempCount).SaveAsFile _ "保存先のフォルダパス" + "\" + requestMailItem.Attachments.Item(tempCount).DisplayName End If Next End If Next Next End Sub 作成し終えたら、outlookに戻り、メニューから"ツール"->"マクロ"->"マクロ"でマクロダイアログを表示し、一覧からSaveAllTempFileを選択し実行を押下すれば、作成したマクロが実行され、csv形式の添付ファイルが添付されたメールの添付ファイルを指定ディレクトリ配下に保存します。