私はこのコードを使用しています
Public Sub ProcessarAnexo(Email As MailItem)
Dim DiretorioAnexos As String
Dim MailID As String
Dim Mail As Outlook.MailItem
Dim objOLmail As Object
これは、添付ファイルを保存する必要があるフォルダーです
DiretorioAnexos = "C:\Separados\AlamoLogistica\"
MailID = Email.EntryID
Set Mail = Application.Session.GetItemFromID(MailID)
この部分で、コードはメールから添付ファイルを分離します
For Each anexo In Mail.Attachments
If Right(anexo.FileName, 3) = "xml" Then
anexo.SaveAsFile DiretorioAnexos & anexo.FileName
End If
If Right(anexo.FileName, 3) = "zip" Then
anexo.SaveAsFile DiretorioAnexos & anexo.FileName
End If
Next
Set Mail = Nothing
このコードは機能します。おそらく、添付ファイルを電子メールアドレスで区切る必要があります
私はこれを書いています:
Dim ns As Outlook.NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim appOl As New Outlook.Application
Dim DiretorioAnexos As String
Dim MailID As String
Dim Mail As Outlook.MailItem
Dim objOLmail As Object
ここで、コードは「Caixa de Entrada」または「Inbox」を Mapifolder Inbox に割り当てる必要があります。
Set ns = appOl.GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
For Each objOLmail In Inbox.Items
ここで、longfe@ifdcontroladoria.com.br からのメールを「C:\Separados\AlamoLogistica\」フォルダに送信する必要がある場合
If InStr(objOLmail.SenderEmailAddress, "longfe@ifdcontroladoria.com.br") >= 0 Then
DiretorioAnexos = "C:\Separados\AlamoLogistica\"
MailID = Email.EntryID
Set Mail = Application.Session.GetItemFromID(MailID)
For Each anexo In Mail.Attachments
If Right(anexo.FileName, 3) = "xml" Then
anexo.SaveAsFile DiretorioAnexos & anexo.FileName
End If
If Right(anexo.FileName, 3) = "zip" Then
anexo.SaveAsFile DiretorioAnexos & anexo.FileName
End If
Next
End If
Next
Set Mail = Nothing
しかし、コードは何を間違っているのか動作しませんか????