Outlook 2013使用VBA发送草稿

use*_*006 4 outlook-vba

早上好,

使用Outlook 2010我编译代码以发送保存在给定帐户的草稿文件夹中的所有电子邮件.现在我已经升级到Office 2013我收到一个错误...它是.Send位,它会丢失并显示错误消息:

"此方法不能与内联响应邮件项一起使用."

我确信有一种简单的方法可以发送草稿,但我已经在网上搜索过,但还是无法想象它.

Public Sub SendDrafts()

Dim lDraftItem As Long
Dim myOutlook As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolders As Outlook.Folders
Dim myDraftsFolder As Outlook.MAPIFolder

'Send all items in the "Drafts" folder that have a "To" address filled

'Setup Outlook

Set myOutlook = Outlook.Application
Set myNameSpace = myOutlook.GetNamespace("MAPI")
Set myFolders = myNameSpace.Folders

'Set Draft Folder. This will need modification based on where it's


Set myDraftsFolder = myFolders("accounts@credec.co.uk").Folders("Drafts")

'Loop through all Draft Items

For lDraftItem = myDraftsFolder.Items.count To 1 Step -1

'Check for "To" address and only send if "To" is filled in.

If Len(Trim(myDraftsFolder.Items.Item(lDraftItem).To)) ] 0 Then

'Send Item

myDraftsFolder.Items.Item(lDraftItem).Send

End If
Next lDraftItem

'Clean-up

Set myDraftsFolder = Nothing
Set myNameSpace = Nothing
Set myOutlook = Nothing

End Sub
Run Code Online (Sandbox Code Playgroud)

小智 9

我知道这是旧的,但万一有人在寻找答案:

"活动内联响应"是指在Outlook中打开的草稿.因此,在进行调试时,请关闭草稿并翻转回另一条消息.然后看看你的代码是否会运行.