如何用VBA打开联系人列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用VBA打开联系人列表相关的知识,希望对你有一定的参考价值。

如何使用VBA执行与Ctrl + Shift + B,工具,选项,自定义相同的操作并将特定联系人列表设置为第一?

答案

您无法在VBA中执行此操作 - Outlook对象模型不会公开该功能。

在扩展MAPI(C ++或Delphi)中,使用IAddrBook.SetDefaultDir并适当设置PR_AB_CHOOSE_DIRECTORY_AUTOMATICALLY属性。

如果使用Redemption(任何语言)是一个选项,您可以使用RDOAddressBook.DefaultAddressList属性:

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
set AddrList = Session.AddressBook.AddressLists.Item("Contacts")
Session.AddressBook.DefaultAddressList = AddrList
另一答案

这是你想要做的吗?

Option Explicit
Public Sub Example()
    Dim olDialog As SelectNamesDialog
    Dim AL As AddressList

    Set olDialog = Application.Session.GetSelectNamesDialog
    Set AL = Application.GetNamespace("MAPI").AddressLists("Contacts")

    Debug.Print AL.GetContactsFolder

    With olDialog
        .InitialAddressList = AL
        .ShowOnlyInitialAddressList = True
        .Display
    End With
End Sub

以上是关于如何用VBA打开联系人列表的主要内容,如果未能解决你的问题,请参考以下文章