好的,所以我一直在乐队的帮助下放一个简单的代码片段,以便发送电子邮件。我一直试图做的是收到一封通过outlook发送的电子邮件。我的第一个问题是runtime object define 287
,位于以下行:
Set appOutlookRec = appOutlookMsg.Recipients.Add
所以为了反驳我的补充:
Set objNS = appOutlook.GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
那就阻止了那个。现在电子邮件将会形成,我可以使用.display
查看我的电子邮件,但当我尝试使用.send
时,Outlook实例会在电子邮件实际发送之前关闭。
为了反驳我强迫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("....@gmail.com")
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
答案 0 :(得分:1)
之前我遇到过类似的事情,我想通常可以通过在发送之前保存电子邮件来避免错误:
appOutlookMsg.Save
appOutlookMsg.Send