我们已经Outlook 2013
安装在Windows 7
PC中。
在我的收件箱中,我将每天收到一封电子邮件,其中的主题将包括文本“今天的Excel Sales”以及Excel附件。
我可以创建一条每天运行的规则,该规则将接收该电子邮件并将附加的Excel文件保存到远程计算机的文件夹中吗?就我而言,它将被复制到\\RemoteServer\c$\Temp
,但如有必要,我也可以将其映射。
是的,但是不要使用Outlook规则。有关如何使用VBA宏执行此操作的示例很多。在“ ThisOutlookSession”对象内,您可以创建事件触发器以像Outlook规则那样处理收到的邮件。
我上次在StackOverflow上回答此问题的时间是在这里:https : //stackoverflow.com/questions/51637693/outlook-2016-select-script-window-in-rules-wizard-is-blank/51638058#51638058
答案看起来像这样:将这段代码放在“ ThisOutlookSession”对象中。它只能从那里开始。
Option Explicit
Private WithEvents inboxItems As Outlook.Items
' Set up the listener on the Inbox
Private Sub Application_Startup()
Dim outlookApp As Outlook.Application
Dim objectNS As Outlook.NameSpace
Set outlookApp = Outlook.Application
Set objectNS = outlookApp.GetNamespace("MAPI")
Set inboxItems = objectNS.GetDefaultFolder(olFolderInbox).Items
End Sub
' Send new mail to the attachment processor
Private Sub inboxItems_ItemAdd(ByVal Item As Object)
If TypeName(Item) = "MailItem" Then
Dim EMail As Outlook.MailItem
Set EMail = Item
Debug.Print "Incoming Data."
SaveAttachmentsToDisk EMail
Set EMail = Nothing
End If
End Sub
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "\\RemoteServer\c$\Temp\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.FileName
Next
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句