0
好的,所以我一直把樂隊艾滋病帶到一個簡單的代碼片段上,以獲得一封電子郵件發送。我一直試圖做的是收到一封電子郵件,通過展望發送。我的第一個問題是runtime object define 287
在下面一行:從Access VBA通過Outlook發送自動電子郵件
Set appOutlookRec = appOutlookMsg.Recipients.Add
這麼對付我說:
Set objNS = appOutlook.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
這停止的。現在電子郵件將形成,我可以使用.display
來查看我的電子郵件,但是當我嘗試使用.send
時,在實際發送電子郵件之前,Outlook的實例會關閉。
爲了防止我強制展望,但我想檢查一個實例是否已經打開。打開我使用的收件箱:
Set appOutlook = CreateObject("Outlook.Application")
Set objNS = appOutlook.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
olFolder.Display
我是否在複雜的自動化過程?還是我在正確的道路上,有人可以幫助檢查是否在瀏覽器窗口中打開Outlook的實例?
感謝
更新發送
Const olMailItem = 0
Const olTo = 1
Const olCC = 2
Const olFolderInbox = 6
Dim appOutlook As Object
Dim appOutlookMsg As Object
Dim appOutlookRec As Object
Dim objNS As Object
Dim olFolder As Object
Set appOutlook = CreateObject("Outlook.Application")
Set objNS = appOutlook.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
olFolder.Display
'Create a new empty email message
Set appOutlookMsg = appOutlook.CreateItem(olMailItem)
With appOutlookMsg
Set appOutlookRec = appOutlookMsg.Recipients.Add("[email protected]")
appOutlookRec.Type = olTo
.Subject = "Testing Closed Tickets"
.Body = "This is just a test."
'.Display
.Send
End With
Set appOutlookMsg = Nothing
Set appOutlook = Nothing
Set appOutlookRec = Nothing
難道你試着在'。發送'之前保存電子郵件。 –
好(但奇怪)的消息! Outlook是唯一的Office應用程序,其中'= CreateObject(「Outlook.Application」)'將創建一個實例,如果它不存在**或**如果Outlook已經運行,則使用現有實例。 – tbur
你可以發佈你的整個代碼嗎?你是從Outlook或其他來源運行此代碼(我假設MS Access)?通過引用訪問 – enderland