【发布时间】:2016-08-30 02:13:47
【问题描述】:
这是我目前所拥有的:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "P:\ME\TEST\"
Dim dateFormat
dateFormat = Format(Now, "yyyy.mm.dd")
For Each objAtt In itm.Attachments
If InStr(objAtt.FileName, "ASDFA ADSF.pdf", vbTextCompare) > 0 Then
objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ASDF.pdf"
ElseIf InStr(objAtt.FileName, "GASD.pdf", vbTextCompare) > 0 Then
objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ADSF ADD.pdf"
ElseIf InStr(objAtt.FileName, "ASDF AD.pdf", vbTextCompare) > 0 Then
objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ASDF.pdf"
ElseIf InStr(objAtt.FileName, "ASDF AS.pdf", vbTextCompare) > 0 Then
objAtt.SaveAsFile saveFolder & dateFormat & " asd asdf.pdf"
Else
objAtt.SaveAsFile saveFolder & "Caught"
End If
Set objAtt = Nothing
Next
End Sub
我使用随机字母只是为了保护隐私。我正在尝试让 Outlook 使用规则和 VBA 将电子邮件附件自动保存为特定名称,并在前面加上日期。我在这里做错了什么?
【问题讨论】:
-
你得到的结果是什么?是出现错误还是显示不正确?
-
什么也没发生。什么都没有保存。该规则正在运行并将消息标记为已读。如果有帮助,则该规则特定于我的名字,因此我只是将电子邮件转发给自己,然后让它运行以查看它是否保存附件。它运行 VBA 中项目 1 下的脚本。该脚本在模块 2 中(删除了模块 1,所以我认为这就是为什么它是 2)。
标签: vba outlook save attachment