如何用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打开联系人列表的主要内容,如果未能解决你的问题,请参考以下文章

Excel中如何用VBA判断行数?

如何用VBA判断另1个EXCEL表是不是已经打开

在excel中如何用vba来实现查找特定的字符串?

Android NavController:如何用相同的动作打开相同的片段

如何用excel中的VBA的正则表达式提取出字符串?

如何用VBA宏程序将excel中的内容批量复制到word文档中去