我在MS Access和MS Outlook之间的链接方面遇到了很多困难。两者都是2010版,我使用 EMailDatabaseObject 宏将报告发送到指定的电子邮件地址。它工作得很好,但是当我尝试运行宏时,我收到一条消息,指出:“程序正在尝试代表您发送电子邮件”,并询问我是否要允许(等待5秒后)或否认。
我已经研究过这个并意识到导致这个问题的是Outlook对象模型防护。我在两个程序中配置了选项,将信任中心更改为启用所有宏,将数据库文件位置添加到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中没有选项可以查看宏的代码端。
非常感谢任何帮助。我更喜欢不会花费任何费用的解决方案,不管它采取什么方式。谢谢你的帮助。
答案 0 :(得分:0)
SendObject使用简单MAPI,无法绕过安全提示。
您可以确保安装了最新版本的防病毒产品(如果您可以控制客户端环境),那么使用Outlook对象模型和Redemption重写代码 - 请参阅http://www.outlookcode.com/article.aspx?id=52代表您的选项列表。