0

我在 MS Access 和 MS Outlook 之间的链接上有很多困难。两者都是 2010 版,我正在使用EMailDatabaseObject宏将报告发送到指定的电子邮件地址。效果很好,但是当我尝试运行宏时,我收到一条消息:“程序正在尝试代表您发送电子邮件”并询问我是否要允许(等待 5 秒后)或拒绝。

我对此进行了研究,并意识到导致此问题的是 Outlook Object Model Guard。我已经在这两个程序中配置了选项,将两者的信任中心更改为启用所有宏,将数据库文件位置添加到 Access 的受信任位置中,在 Outlook 的程序访问下选中“从不警告我有关可疑活动”按钮,并使用所有这些设置,当我运行宏时,它仍然会询问那个烦人的安全警告。

其他解决方案显示了更改 VBA 脚本的方法,但我真的不明白或不知道要更改哪些位置。我已将宏转换为 Visual Basic,这是代码:

Option Compare Database

'------------------------------------------------------------
' AutoExec
'
'------------------------------------------------------------
Function AutoExec()
On Error GoTo AutoExec_Err

DoCmd.SendObject acReport, "Campus-Daily-Report", "PDFFormat(*.pdf)", "*To email goes here*", "", "", "Daily Report Test", "Please take a look at the attached.", False, ""


AutoExec_Exit:
Exit Function

AutoExec_Err:
MsgBox Error$
Resume AutoExec_Exit

End Function

我有一个名为 AutoExec 的宏,目的是在文件打开时立即运行宏。

请帮助并让我知道我可以为此使用哪些其他解决方案。如果真的需要我更改上面的代码,我不确定如何更改宏的代码。我意识到当我转换宏时,它变成了另一个以不同方式工作的模块。Access 中没有用于查看宏代码端的选项。

任何帮助将不胜感激。我更喜欢不会花费我任何美元的解决方案,不管它需要什么。谢谢您的帮助。

4

1 回答 1

0

SendObject 使用 Simple MAPI,没有办法绕过安全提示。

您可以确保安装了最新版本的防病毒产品(如果您可以控制客户端环境),因此使用 Outlook 对象模型和Redemption重写您的代码- 请参阅http://www.outlookcode .com/article.aspx?id=52查看您的选项列表。

于 2014-03-03T13:32:28.133 回答