使用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。这可能不是最有效的解决方案,但它可以完成工作而不会导致崩溃。