【发布时间】:2021-10-14 11:39:38
【问题描述】:
我想出这个来为新电子邮件创建一个事件监听器以下载附件。
我将How do I trigger a macro to run after a new mail is received in Outlook? 与https://www.extendoffice.com/documents/outlook/3747-outlook-auto-download-save-attachments-to-folder.html 结合在一起
我无法在 Outlook 中使用宏创建规则,也无法在当前计算机上编辑注册表,因此我需要一种解决方法。
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
Dim strSubject As String
strSubject = Msg.Subject
If InStr(0, strSubject, "VBA Test") > 0 Then
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "F:\Jason - DataCopies"
For Each oAttachment In Msg.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End If
End If
ProgramExit:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
【问题讨论】:
-
错误信息是什么?
-
@FloLie 没有,邮件通过了,但附件没有保存
-
你能在函数的开头放一个断点,只是为了测试它是否被调用?
-
你把它放在
ThisOutlookSession部分了吗? -
它在那个部分@FloLie 但是,我只是尝试在其中放置一个断点并且它没有被调用,这很奇怪,因为它以前是