Outlook 2013使用VBA发送草稿

时间:2013-07-01 09:41:22

标签: 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

2 个答案:

答案 0 :(得分:8)

我知道这已经过时了,但万一有人在寻找答案:

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

答案 1 :(得分:3)

我发现如果您点击草稿文件夹以使草稿文件夹处于活动状态,则会收到该错误消息,通常是在突出显示的文件夹中的电子邮件中。

解决方案:点击任何其他文件夹,然后运行代码,应该工作,我的!