0

私はこのコードを使用しています

        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

しかし、コードは何を間違っているのか動作しませんか????

4

1 に答える 1

1

フィールドがこの質問SenderEmailAddressの出力に似たものを生成している可能性があります。

objOLmail.SenderEmailAddressIfステートメントを次のように置き換えてみてくださいobjOLmail.Sender.GetExchangeUser().PrimarySmtpAddress

于 2012-11-26T23:20:09.173 に答える