Определяемый пользователем тип не определен - Использование VBA для импорта изображений в контакты в Outlook 2010

Я пытаюсь использовать VBA в Outlook 2010, чтобы добавить картинки для списка контактов. Когда я последний раз пробовал это в Outlook 2007, он работал нормально. Но теперь я обновился до Outlook 2010, и он больше не работает. Он выдает ошибку в Dim rec как строку набора ADODB.record и выдает ошибку компиляции: пользовательский тип не определен.

Любые идеи, что мне нужно изменить, чтобы заставить это работать в Outlook 2010?

Public Sub UpdateContactPhoto()

Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.Namespace
Dim myContacts As Outlook.Items
Dim myItems As Outlook.Items
Dim myItem As Object
Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")

Set myContacts = myNamespace.Folders.Item("Mailbox - Thomas, Susan"). _
                 Folders.Item("Temp Contacts").Items

Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
For Each myItem In myContacts
    If (myItem.Class = olContact) Then
        Dim myContact As Outlook.ContactItem
        Set myContact = myItem
        Dim strPhoto As String

        Dim rec As ADODB.Recordset
        Dim strSQL As String

        strSQL = "SELECT abcdefg from 123456 Where FullName = '" & myItem & "'"

        Set con = New ADODB.Connection
        con.Open = "Provider=SQLOLEDB;Data Source=ABC;Initial Catalog=XYZ;User ID=867;Password=5309;"
        Set rec = con.Execute(strSQL)

        If Not rec.EOF Then
            TheValue = rec.Fields(3).Value
            strPhoto = "\\picserver\EmployeePics\" & TheValue

            If fs.FileExists(strPhoto) Then
                myContact.AddPicture strPhoto
                myContact.Save
            End If
        End If
    Else

    End If
Next

End Sub

1 ответ

Решение

В редакторе кода вам нужно добавить ссылку на библиотеку ADODB.

Перейдите в меню Инструменты -> Ссылки
меню доступа

и найдите Microsoft ActiveX Data Objects xx Library. Обратите внимание, что номер версии будет меняться в зависимости от того, какая версия загружена на вашем компьютере.

Рекомендации

Другие вопросы по тегам