【发布时间】:2011-06-30 11:44:12
【问题描述】:
我有以下 vba 代码,可将附件保存在电子邮件中。
这适用于 .docx、.jpg 等,但我需要使用它来提取多个不起作用的 .msg 附件。
代码是
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "C:\Test\"
For Each objAtt In itm.Attachments
stFileName = saveFolder & "\" & objAtt.DisplayName
i = 0
JumpHere:
If Dir(stFileName) = "" Then
objAtt.SaveAsFile stFileName
Else
i = i + 1
stFileName = saveFolder & "\" & i & " - " & objAtt.DisplayName
GoTo JumpHere
End If
Set objAtt = Nothing
Next
End Sub
错误与该行有关 - If Dir(stFileName) = "" Then
【问题讨论】:
-
你真的不应该使用 VBA 中的
GoTostatement !这是一个讨论来说明:eggheadcafe.com/software/aspnet/32608532/… -
谢谢 - 看起来像是回到了绘图板......
-
@Haribo83:也许我们可以帮助您设计您想要做的事情。你能解释一下这部分代码的目的吗?
-
我有一个电子邮件备份系统,我需要清除电子邮件。他们这样做的唯一方法是将它们全部作为电子邮件的附件发送,一次 100 个。
-
然后我想将每个 .msg 附件保存在一个文件中,并使用 Outlook 规则删除电子邮件。这听起来可能吗?
标签: vba outlook email-attachments