【发布时间】:2020-06-24 17:27:12
【问题描述】:
每天上午 12 点,都会自动收到一封来自供应商服务的带有特定主题的 Excel 附件的电子邮件。我正在使用规则和代码来尝试保存附件并将信息插入到我在收件箱中收到时创建的数据库中。
我尝试了我在网上找到的代码,但我不知道是否因为我公司的某些网络/安全设置而无法正常工作,或者是他自己编写的代码。
规则:
代码:
Public Sub CribMaster2Database(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
saveFolder = "c:\temp\"
If olItem.Subject = "Test" Then
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
Set objAtt = Nothing
Next
End If
End Sub
【问题讨论】:
-
是时候学习调试了!你如何运行代码?你怎么知道代码是否运行?你怎么知道你有问题?有什么问题?设置调试点并使用调试器或添加 MsgBox 语句!但是......我的第一个真正问题是“你是如何让你的宏运行的?”
-
Tun 运行这样的宏,根据您的安全设置,您必须创建一个证书并选择它来签署您的
VBA代码。查找Digital Certificate for VBA Projects以创建证书。在Outlook VBA中,菜单是Tools/Digital Signature。最后,您必须使用Outlook Rules Wizard来触发您的脚本来处理收到的邮件。 -
使用 Outlook 内置的规则和警报功能
-
您的保存文件夹不正确 - 您正在添加额外的路径分隔符。
saveFolder & "\" & objAtt.DisplayName- saveFolder 已经有一个最终的 \ 所以这将显示为c:\temp\\MyFileName.xls