1
MS Outlookで特定の送信者からを受け取ったメールからすべての添付ファイルをダウンロードします。添付ファイルを未読アイテムからダウンロードして特定の送信者から届いています
すべての未読メールからすべての添付ファイルをダウンロードするコードが見つかりました。 Downloading Attachments from Unread Emails of MS Outlookとそれに適応しようとしました。
ただし、フィルタが正しく動作していません。そのような電子メールがないことを示しています。以下は
Filter = "[Unread] = True And [SenderEmailAddress] = '[email protected]'"
全体のコードです:
Option Explicit
Public Sub Example()
Dim oOlAp As Object
Dim olNs As Outlook.Namespace
Dim Inbox As Outlook.MAPIFolder
Dim Items As Outlook.Items
Dim Item As Outlook.MailItem
Dim Atmt As Attachment
Dim Filter As String
Dim FilePath As String
Dim AtmtName As String
Dim i As Long
'// Set Inbox Reference
Set oOlAp = GetObject(, "Outlook.application")
Set olNs = oOlAp.GetNamespace("MAPI")
Set Inbox = olNs.GetDefaultFolder(olFolderInbox)
FilePath = "C:\Users\irybchuk\Documents\"
Filter = "[Unread] = True And [SenderEmailAddress] = '[email protected]'"
Set Items = Inbox.Items.Restrict(Filter)
'// Loop through backwards
For i = Items.Count To 1 Step -1
Set Item = Items.Item(i)
DoEvents
If Item.Class = olMail Then
Debug.Print Item.Subject ' Immediate Window
For Each Atmt In Item.Attachments
AtmtName = FilePath & Atmt.FileName
Atmt.SaveAsFile AtmtName
Next
End If
Next
Set Inbox = Nothing
Set Items = Nothing
Set Item = Nothing
Set Atmt = Nothing
Set olNs = Nothing
End Sub
私はここにいることを信じている:How to filter items sendername from Items_ItemAdd Events?は、フィルタラインを変更するにはどのように可能な解決策を説明することができます。しかし、私はそれをすることができませんでした。
を必要としません。フィルター、どのオフィスにいるの?不具合? – 0m3r
私はMS Office 2010を使用していますが、エラーは表示されません。問題は、それはそのような電子メールを見つけることができません - それは箱にそのような電子メールがないことを示します。フィルタを未読メールにのみ使用している場合は、そのフィルタが検索されます。 – Iaroslav