我们有一个小宏(添加到功能区),单击时应该附加某个文件夹中的一些文件。
这在 Outlook 中创建“新”邮件时有效。当您使用(例如)Adobe Acrobats 的“作为电子邮件发送”功能时,Outlook 中的电子邮件会以模态对话框的形式打开。
功能区上的按钮现在无效。这很简单,什么都不做。(甚至不会显示第一行中的 MessageBox)使用开发人员工具 - > 宏并从“那里”选择宏。
为什么功能区上的按钮没有调用相同的宏而不适用于模态电子邮件?
宏 - 但如前所述,甚至不会出现 MessageBox。
Sub AddAttachments()
Dim Path As String
Path = "C:\test\"
Dim NewMail As MailItem, oInspector As Inspector
Set oInspector = Application.ActiveInspector
If oInspector Is Nothing Then
MsgBox "No active inspector"
Else
Set NewMail = oInspector.CurrentItem
If NewMail.Sent Then
MsgBox "This is not an editable email"
Else
With NewMail
d = Dir(Path & "*.*")
While d <> ""
.Attachments.Add Path & d
d = Dir
Wend
End With
End If
End If
End Sub
更新:通过另一个应用程序为电子邮件发送应用程序提供更多设置,我能够弄清楚以下内容:
- 使用“Outlook OLE”作为电子邮件发送方法时,一切正常。
- 使用“MAPI”作为Email-Sending Method 时,出现上述效果。
因此,Adobe Acrobat 似乎默认使用(简单)MAPI。
编辑:在了解了实际原因后,我发现了这一点:https ://www.msoutlook.info/question/203 - 对于通过 MAPI 创建电子邮件的应用程序来说,这似乎是一个已知的、不可解决的限制,因为 Outlook 没有“完全”加载但只是一些基本的存根。
更新:
单击“作为邮件发送按钮”(1) 时,会出现以下窗口。单击功能区 (2) 内的“宏按钮”不会执行任何操作。
切换到 DeveloperTools,选择“宏”并从那里选择相同的宏但是有效:
另一方面,该按钮适用于通过 Outlook 创建的“新电子邮件”和使用Outlook OLE
rathen创建的“新邮件” MAPI
。