我已经完成了我在工作中使用的现有(和工作)副本中修改过的脚本(见帖子末尾)。我需要这个脚本来查看发件人,如果它来自“esupport@domainname.biz”,那么我希望它删除附件并将其转储到我们这里的云驱动器上。但我只想从该特定电子邮件地址获取附件。我们有其他使用同一帐户的流程,我不希望此代码干扰其中任何一个。非常感谢任何正确方向的推动,非常感谢你。
我的代码:
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
'Return sender's email
If Email.SenderEmailAddress = "esupport@domainname.biz" Then
saveFolder = "v:\Anthony - Missing Invoices\Report"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
答案 0 :(得分:1)
您无法直接以此格式运行此运行代码。你必须通过它。
在代码中单击代码,然后单击F8以逐步执行代码。你不会得到回复。
一个简单的例子,其中有一个开放的mailitem。 您可以将它传递给saveAttachtoDisk,如下所示:
Sub run_saveAttachtoDisk
dim currItem as mailitem
set currItem = activeinspector.currentitem
saveAttachtoDisk curritem
end sub
通常的方法是在规则中对传入邮件运行代码。在RunAScript中选择saveAttachtoDisk。
可以在规则中指定发件人。如果你不想这样,那么取消注释if / end if语句。
您可以执行“立即运行规则”来处理现有邮件。
Public Sub saveAttachtoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
'If Email.SenderEmailAddress = "esupport@domainname.biz" Then
saveFolder = "v:\Anthony - Missing Invoices\Report"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & objAtt.DisplayName
Next
'end if
End Sub