Outlook不会让我同时发送多个草稿。有没有一种简单的方法可以在Outlook中一次发送多个草稿?无需单独打开每一个?
从我所阅读,看过和尝试过;这在Outlook本身内是不可能的,因此需要一个编程解决方案,可能是一些VB脚本
答案 0 :(得分:1)
`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
'in.
'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
'being run.
Set myDraftsFolder = myFolders("$MAILBOX").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
只需将$ MAILBOX替换为您的邮箱名称,将$ DRAFTS替换为您的草稿文件夹名称。 这已被人工测试,似乎工作正常。
答案 1 :(得分:1)
与作者的回答没什么不同,但仍然是:
Sub SendDrafts()
Dim ns As NameSpace
Dim drafts As MAPIFolder
Dim Item As MailItem
Set ns = Application.GetNamespace("MAPI")
Set drafts = ns.GetDefaultFolder(olFolderDrafts) ' 16
For Each Item In drafts.Items
'Item.Send
Next
End Sub
请小心,因为它确实会在您的默认草稿文件夹中发送所有电子邮件。取消注释发送行后。 {$ 1}}行允许在Outlook宏编辑器内部进行自动完成。
答案 2 :(得分:0)
一个有用的版本,我刚刚在Outlook 2000中测试过:
将您要发送的电子邮件拖到发件箱中。它们不会自动发送,但使用此版本的先前发布会发送它们:
Sub SendOutbox()
Dim ns As NameSpace
Dim outbox As MAPIFolder
Dim Item As MailItem
Set ns = Application.GetNamespace("MAPI")
Set outbox = ns.GetDefaultFolder(olFolderOutbox) ' 16
For Each Item In outbox.Items
Item.Send
Next
End Sub
这样,你可以有选择性。
答案 3 :(得分:-1)
是的,您可以编写一个宏或加载项来执行此操作。