Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Outlook VBA添加密件抄送收件人_Vba_Outlook - Fatal编程技术网

使用Outlook VBA添加密件抄送收件人

使用Outlook VBA添加密件抄送收件人,vba,outlook,Vba,Outlook,我需要将密件抄送收件人添加到从模板加载的电子邮件中。收件人应该是某个类别中的所有联系人。到目前为止,我有以下几点,但它效率极低,并导致Outlook无响应: Sub Distribute_Newsletter() Set newItem = Application.CreateItemFromTemplate("P:\Subscription Templates\subscription template.oft") newItem.Display Set oNS = Application.

我需要将密件抄送收件人添加到从模板加载的电子邮件中。收件人应该是某个类别中的所有联系人。到目前为止,我有以下几点,但它效率极低,并导致Outlook无响应:

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
之前。这可能不是最有效的解决方案,但它可以在不造成崩溃的情况下完成工作