エクセルのマクロ(VBA)で、Outlook2013の添付ファイルの付いたメールから、添付ファイルだけを抽出する場合
アカウントが1つだけの場合は、下記のコードでできるのですが、Outlook2013に複数アカウントが設定されている場合、下記のような状態で2番目のアカウントの受信フォルダの中のテスト01フォルダから抽出したい場合、下記画像のようなエラーメッセージが出て上手く抽出できません。
コード:
Sub メールから添付ファイル抽出() Dim myNamespace As Namespace Dim myInbox As Object Dim mySubfolder As Object Dim strPath As String Dim strFile As String Dim i As Long Set myNamespace = GetNamespace("MAPI") Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox) Set mySubfolder = myInbox.Folders.Item("テスト01") '受信トレイのすぐ下のフォルダ strPath = "C:\Users\ET\Documents\MyDocument_BackUP\E_Excel\保存テスト01\" '添付ファイルを保存したいフォルダ For Each objItem In mySubfolder.Items With objItem For i = 1 To .Attachments.Count strFile = strPath & .Attachments.Item(i) .Attachments.Item(i).SaveAsFile strFile Next i End With Next objItem MsgBox ("無事終了") End Sub
エラーメッセージの通り、アカウントが1つの場合はフォルダを指定するだけで大丈夫だったのですが、複数となると、どのアカウントかを指定する、オブジェクトを指定する必要があると思うのですが、その方法がよくわかりません。
Set myInbox = myNamespace.GetDefaultFolder(olFolderInbox)
たぶん、myInbox(受信トレイ)この行の前に、アカウントを指定するための、オブジェクトをSetするようなコードが入るのだと思うのですが、私が調べた限りではよくわかりませんでした。
皆さまの知恵をおかしください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。