zoukankan      html  css  js  c++  java
  • How to: Display a Dialog Box for Selecting Entries from the Contacts Folder

    Outlook Developer Reference

    This topic describes how to use the SelectNamesDialog object to display entries from the Contacts folder in a dialog box that resembles the Select Names dialog box in the Outlook user interface.

    1. Look for the address list that corresponds with the Contacts folder.

      The SelectNamesDialog object displays entires in a dialog box based on an AddressList. To display entries in the Contacts folder, look for the AddressList that corresponds with the Contacts folder. Iterate through all the address lists defined for the current session, and for each address list, use AddressList.GetContactsFolder to match the corresponding folder with the Contacts folder.

    2. Initialize the dialog box with the address list of the Contacts folder.
    3. Use SelectNamesDialog.Display to display the dialog box. If SelectNamesDialog.Display returns True, then selected entries will be available in SelectNamesDialog.Recipients.
    Sub ShowContactsInDialog()
        Dim oDialog As SelectNamesDialog
        Dim oAL As AddressList
        Dim oContacts As Folder
        
        Set oDialog = Application.Session.GetSelectNamesDialog
        Set oContacts = _
            Application.Session.GetDefaultFolder(olFolderContacts)
    
        'Look for the address list that corresponds with the Contacts folder
        For Each oAL In Application.Session.AddressLists
            If oAL.GetContactsFolder = oContacts Then
                Exit For
            End If
        Next
        With oDialog
            'Initialize the dialog box with the address list representing the Contacts folder
            .InitialAddressList = oAL
            .ShowOnlyInitialAddressList = True
            If .Display Then
                'Recipients Resolved
                'Access Recipients using oDialog.Recipients
            End If
        End With
    End Sub

    See Also

    下面是用C#的例子

    //取得这个类的实例
    Outlook.SelectNamesDialog dialog = Application.Session.GetSelectNamesDialog();
    //是否允许多选
    dialog.AllowMultipleSelection = true;

    //取得联系人文件夹
    Outlook.Folder contractFolder = Application.Session.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;

    Outlook.AddressList oal=null;
    //取得地址列表
    foreach (Outlook.AddressList al in Application.Session.AddressLists)
    {
        if (al.GetContactsFolder() == contractFolder)
        {
            oal = al;
            break;
        }
    }

    //初始化
    dialog.InitialAddressList = oal;
    dialog.ShowOnlyInitialAddressList = true;

    //如果用户选择了某些收件人
    if (dialog.Display())
    {
        foreach (Outlook.Recipient rpt in dialog.Recipients)
        {
            //这里对选取的收件人列表做处理
            MessageBox.Show(rpt.AddressEntry.Name+","+rpt.AddressEntry.Address);  
        }
    }

  • 相关阅读:
    Python find()方法
    Python expandtabs()方法
    RGB-D对红外热像仪和毫米波雷达标定
    ADAS虚拟车道边界生成
    3D惯导Lidar SLAM
    语义分割改进:通过视频传播和标签松弛
    YOLOv4:目标检测(windows和Linux下Darknet 版本)实施
    tensorflow-yolov4实施方法
    3D惯导Lidar仿真
    YOLOv4实用训练实践
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1217094.html
Copyright © 2011-2022 走看看