Ошибка на GetSelectNamesDialog в Excel VBA - PullRequest
0 голосов
/ 15 февраля 2019

Так что я боролся с этой проблемой уже около недели.Приведенный ниже код является начальной частью проекта, над которым я работаю.

Цель здесь - открыть всплывающее окно address-book для Глобального списка адресов в перспективе.Я собрал большую часть этого кода из другого или двух вопросов о переполнении стека.Проблема заключается в том, что, когда я добираюсь до последней строки

Set Dialog = outlookApp.Session.GetSelectNamesDialog

, я получаю «Ошибка времени выполнения« 287: ошибка приложения или объекта »Да, справочная библиотека Outlook 16.0 отключена,Мне было любопытно о блокировке безопасности объекта.Недавно я обновил GetGlobalAddressList, чтобы исправить проблему similair.

Sub AddTestConductor() 'inserts information for a new TC from GAL

Dim OutlookApp As Outlook.Application
Dim OutlookNameSpace As Outlook.Namespace
Dim Dialog As Outlook.SelectNamesDialog
Dim GAL As Outlook.AddressList
Dim TCEntry As Outlook.AddressEntry
Dim User As Outlook.ExchangeUser

Dim Alias As String
Dim FirstName As String
Dim LastName As String
Dim Email As String
Dim where As String


Set OutlookApp = GetObject(, "Outlook.Application") 'grabs outlook for use
Set OutlookNameSpace = OutlookApp.GetNamespace("MAPI")
OutlookNameSpace.Logon , , True, False
Set GAL = OutlookApp.Session.GetGlobalAddressList
Set Dialog = OutlookApp.Session.GetSelectNamesDialog

With Dialog
    .AllowMultipleSelection = False
    .InitialAddressList = GAL
    .ShowOnlyInitialAddressList = True
    If .Display Then
        Alias = Dialog.Recipients.Item(1).Name
        Set TCEntry = GAL.AddressEntries(Alias)
        Set User = TCEntry.GetExchangeUser

        If Not User Is Nothing Then  'populate variable for name and e-mail0
            FirstName = User.FirstName
            LastName = User.LastName
            Email = User.PrimarySmtAddress
        End If
    End If
End With

Set OutlookApp = Nothing           'Empty objects for next use
Set Dialog = Nothing
Set GAL = Nothing
Set TCEntry = Nothing
Set User = Nothing

В дополнение к вышесказанному, я хотел бы указать подпапку с GAL, чтобы отучить список.

Информация, полученная из GAL, будет вставлена ​​в электронную таблицу, тогда мне нужно будет также создать ссылки на календарные даты на основе их информации.Я еще не зашел так далеко.

В настоящее время я просто пытаюсь собрать информацию о пользователе как первый шаг ребенка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...