【发布时间】:2022-12-14 09:15:43
【问题描述】:
我想找到附件名为“IE529”或 599 或 ZC 且扩展名为 .xml 的电子邮件,并将它们保存到共享驱动器上的文件夹中。
Outlook 似乎处理了代码,但两个附件都没有保存。
一旦此代码生效,我将考虑如何将参数“.xml”添加到条件中。
Public Sub Komunikaty(MItem As Outlook.MailItem)
Dim Zalacznik As Outlook.Attachment
Dim KatalogIE529 As String
Dim KatalogIE599 As String
Dim KatalogZC299 As String
KatalogIE529 -"xxxx"
KatalogIE599 -"zzzz"
KatalogZC299 -"yyyyy"
For Each Zalacznik In MItem.Attachments
If InStr(1, Zalacznik.DisplayName, "IE529", vbTextCompare) Then
Zalacznik.SaveAsFile KatalogIE529 & Zalacznik.DisplayName
ElseIf InStr(1, Zalacznik.DisplayName, "IE599", vbTextCompare) Then
Zalacznik.SaveAsFile KatalogIE599 & Zalacznik.DisplayName
ElseIf InStr(1, Zalacznik.DisplayName, "ZC299", vbTextCompare) Then
Zalacznik.SaveAsFile KatalogZC299 & Zalacznik.DisplayName
End If
Next
End Sub
应用一些更正后,我的代码将附件保存到给定的文件夹中,但我不知道如何只保存扩展名为“.xml”的附件。
我试过“AND”,但之后它不起作用。
它可以保存 xml 或 IE529。
我如何更新此代码,以便它搜索 xml 文件?
Public Sub Komunikaty(MItem As Outlook.MailItem)
Dim Zalacznik As Outlook.Attachment
Dim KatalogIE529 As String
Dim KatalogIE599 As String
Dim KatalogZC299 As String
KatalogIE529 = "C:"
KatalogIE599 = "C:"
KatalogZC299 = "C:"
For Each Zalacznik In MItem.Attachments
If (InStr(1, Zalacznik.DisplayName, "IE529", vbTextCompare)) Then
Zalacznik.SaveAsFile KatalogIE529 & "\" & Zalacznik.DisplayName
ElseIf InStr(1, Zalacznik.DisplayName, "IE599", vbTextCompare) Then
Zalacznik.SaveAsFile KatalogIE599 & "\" & Zalacznik.DisplayName
ElseIf InStr(1, Zalacznik.DisplayName, "ZC299", vbTextCompare) Then
Zalacznik.SaveAsFile KatalogZC299 & "\" & Zalacznik.DisplayName
End If
Next
End Sub
【问题讨论】:
-
"IE529" & "xml"不单独搜索IE529和xml,它搜索IE529xml。 -
根本没有短语“xml”,它仍然不起作用。对于未来,如果我们最终使公式起作用,如何创建两个参数,如“标题中的扩展名和短语”?
-
您是否尝试在附加的调试器下运行代码并逐行检查每一行代码以检查结果?您将什么值准确传递给
SaveAsFile方法? -
我刚刚添加了更新的工作代码,但仍然存在如何通过其他人只保存 xml 文件的问题?
-
这回答了你的问题了吗? Save only PDF attachments VBA Outlook
标签: vba email outlook attachment email-attachments