我想创建一个运行以下脚本的规则:
Public Sub SaveToDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd")
saveFolder = "c:\temp\"
objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls"
Set objAtt = Nothing
End Sub
这应该保存到c:\ temp文件夹的附件,但是它不起作用,因为objAtt值没什么。由于某些原因,该行:
Dim objAtt As Outlook.Attachment
没有将附件分配给obAtt变量,原因我无法弄清楚。这里的附件是.csv文件。
我在Windows 10上使用Outlook 2016。我很乐意就此为何提出任何建议。
答案 0 :(得分:4)
你必须设置对象,因为你只需要创建它,而不是填充它。
所以它不知道它应该与MailItem有任何关系。
此外,还有一系列的Attachement,请参阅:
Public Sub SaveToDisk(ItM As Outlook.MailItem)
Dim oAttS As Outlook.Attachments
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat
dateFormat = Format(Now, "yyyy-mm-dd")
saveFolder = "c:\temp\"
Set oAttS = ItM.Attachments
For Each objAtt In oAttS
objAtt.SaveAsFile saveFolder & "\" & dateFormat & "_" & objAtt.FileName
Next objAtt
Set oAttS = Nothing
Set objAtt = Nothing
End Sub