我尝试使用以下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” 。为什么呢?
答案 0 :(得分:0)
我尝试了你的代码,但是我无法将西班牙语方法正确地翻译成英语(我找不到相应的New TestInforme
)。
根据错误消息,您的循环逻辑似乎失败了。尽量不要使用负循环。类似的东西:
...
If bCancel=False then
...
Else
MsgBox
End If
...