使用Outlook VBA添加密件抄送收件人
问题描述:
我需要将密件抄送收件人添加到从模板加载的电子邮件中。收件人应该是某个类别中的所有联系人。我有以下的,到目前为止,除了它是非常低效和导致Outlook无法响应:使用Outlook VBA添加密件抄送收件人
Sub Distribute_Newsletter()
Set newItem = Application.CreateItemFromTemplate("P:\Subscription Templates\subscription template.oft")
newItem.Display
Set oNS = Application.GetNamespace("MAPI")
Set oContacts = oNS.Folders(1).Folders("Contacts")
Dim emailAddress As String
For Each oContactItem In oContacts.Items
If oContactItem.Class = olContact Then
emailAddress = oContactItem.Email1Address
If Not emailAddress = "" Then 'And oContactItem.Categories
Set objRecip = newItem.Recipients.Add(emailAddress)
objRecip.Type = olBCC
End If
End If
Next
Set oNS = Nothing
Set oContacts = Nothing
Set objRecip = Nothing
Set newItem = Nothing
End Sub
答
我最终什么事做摇newItem.Display
下降到只有前Set newItem = Nothing
。这可能不是最有效的解决方案,但它可以完成工作而不会导致崩溃。