Так что я боролся с этой проблемой уже около недели.Приведенный ниже код является начальной частью проекта, над которым я работаю.
Цель здесь - открыть всплывающее окно 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, будет вставлена в электронную таблицу, тогда мне нужно будет также создать ссылки на календарные даты на основе их информации.Я еще не зашел так далеко.
В настоящее время я просто пытаюсь собрать информацию о пользователе как первый шаг ребенка.