如何将outlook附件导出到excel?

时间:2014-01-10 16:49:03

标签: excel excel-vba outlook vba

我尝试使用以下cocde将Outlook附件导出到Excedl:

    Public bCancel As Boolean
    Public dDate As Date
    Public sPath As String

Public Sub TESTMACRO()
    Dim MyOlApp As New Outlook.Application
    Dim MyOlExp As Outlook.Explorer
    Dim MySelection As Outlook.Selection
    Dim msg As MailItem
    Dim amount As Long

    Set MyOlExp = MyOlApp.ActiveExplorer
    Set MySelection = MyOlExp.Selection

    amount = MySelection.Count

    bCancel = True
    TESTMACROX.Show

    If Not bCancel Then

        If amount = 1 Then

            WaitFinish.Show (False)

            Dim objTesteInforme As New TesteInforme

            objTesteInforme.fecha = dDate
            objTesteInforme.path = sPath

            ' Procesamos el mensaje seleccionado
            If MySelection.Item(1).Class = olMail Then
                ' El objeto seleccionado es un correo
                Set msg = MySelection.Item(1)
                If InStr(1, msg.Subject, "YYYYY") > 0 And InStr(1, msg.Subject, "ZZZZZ") > 0 Then

                    ' Se trata de un mensaje de xxxxxxxxxxxxxxxxxx

                    objTesteInforme.CLIENTE = "YYYYYZZZZZ"

                    If (Not objTesteInforme.GeneraTestMacro(msg)) Then
                        ' El procesamiento fracasó
                        MsgBox "El procesamiento del mensaje " & msg.Subject & " fracasó; por favor, revisa el formato del archivo adjunto", vbCritical
                    End If
                                                Else
                                                    MsgBox "El mensaje " & msg.Subject & " no se reconoce como diario Batch de ningún cliente", vbCritical
                                                End If
                End If
                Set msg = Nothing
            Else
                MsgBox "Por favor, selecciona un correo electrónico", vbExclamation
            End If

            WaitFinish.Hide
            Else
                MsgBox "Por favor selecciona uno y solo un mesaje. Gracias", vbExclamation
            End If

        Set MySelection = Nothing
        Set MyOlExp = Nothing

    End Sub

问题是我只选择一条消息,主题是YYYYY ZZZZZ - LLLLLLL:140109,但不是打开带有附件的excel表,而是发送错误消息“Por favor selecciona uno y solo un mesaje.Gracias” 。为什么呢?

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,但是我无法将西班牙语方法正确地翻译成英语(我找不到相应的New TestInforme)。

根据错误消息,您的循环逻辑似乎失败了。尽量不要使用负循环。类似的东西:

...
If bCancel=False then
    ...
Else
    MsgBox 
End If
...