0

我在MS Access和MS Outlook之間的鏈接存在很多困難。兩者都在2010版本中,我正在使用EMailDatabaseObject宏將報告發送到指定的電子郵件地址。它工作的很好,但是當我嘗試運行宏時,我收到一條消息,聲明:「程序正在嘗試以您的名義發送電子郵件消息」,並詢問是否希望允許(等待5秒鐘後)或拒絕。如何使Access宏繞過Outlook對象模型Guard

我已經研究了這一點,並意識到它是導致此問題的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

您可能會考慮CDOSYS:http://msdn.microsoft.com/en-us/library/office/aa168346(v=office.11​​).aspx – Fionnuala

回答

0

SendObject使用簡單MAPI,並且無法繞過安全提示。

您可以確保安裝了最新版本的防病毒產品(如果您可以控制客戶端環境),請使用Outlook對象模型和Redemption重寫代碼 - 請參閱http://www.outlookcode.com/article.aspx?id=52您的選擇列表。