AW: Outlook Kontakte in Listbox
05.01.2022 23:19:28
Lukas
Liebe Excelianer,
kann mal jemand drüber gucken? Ich drehe echt langsam durch...
Das unten Abgebildete funktioniert in einer 'leeren' Datei, wenn ich das aber in einer Datei ausführe, in welche ich das schlussendlich implementieren will, gibt's eine Fehlermeldung. Der Code wird 1:1 Kopiert - in der einen Datei geht's, in der anderen Datei nicht.
Funktionierende Datei: xlsm, mit Office 365 erstellt.
Nicht funktionierende Datei: xlsx, mit Vorgängervesion erstellt, als xlsm mit Makros neu gespeichert.
Die beiden Dateien werden am gleichen Rechner geöffnet, gleiche Programme/Versionen.
Gibt es etwas, was in der Datei selbst noch eingstellt werden kann, was den Aufruf des Verzeichnisses blockieren kann?
Danke für euren Input :-)
Lukas
Private Sub UserForm_Initialize()
Dim Verz As Object
Dim iIndx As Integer
Dim olMAPI As Object
Dim objItem As Object
Set olMAPI = CreateObject("Outlook.Application")
Application.DisplayAlerts = False
Application.StatusBar = "Die Adressen werden aus Outlook geholt ..."
Set Verz = olMAPI.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts) Fehler beim Kompilieren. Variable nicht definiert. olFolderContacts markiert.
UserForm1.Caption = "Outlook Kontakte von " & Application.UserName
UserForm1.ListBox1.ColumnCount = 8
UserForm1.ListBox1.ColumnWidths = _
"5,0 cm; 4,0 cm; 0,7 cm; 1,5 cm; 3,0cm; 3,0 cm; 3,0 cm; 5,0 cm"
For iIndx = 1 To Verz.Items.Count
Set objItem = Verz.Items(iIndx)
With objItem
UserForm1.ListBox1.AddItem " "
UserForm1.ListBox1.List(iIndx - 1, 0) = .CompanyName
If .BusinessAddressPostOfficeBox = "" Then
UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressStreet
Else
UserForm1.ListBox1.List(iIndx - 1, 1) = .BusinessAddressPostOfficeBox
End If
UserForm1.ListBox1.List(iIndx - 1, 2) = .BusinessAddressCountry
UserForm1.ListBox1.List(iIndx - 1, 3) = .BusinessAddressPostalCode
UserForm1.ListBox1.List(iIndx - 1, 4) = .BusinessAddressCity
UserForm1.ListBox1.List(iIndx - 1, 5) = .FirstName & " " & .LastName
UserForm1.ListBox1.List(iIndx - 1, 6) = .BusinessTelephoneNumber
UserForm1.ListBox1.List(iIndx - 1, 7) = .Email1Address
End With
Next iIndx
Set objItem = Nothing
Set olMAPI = Nothing
Application.DisplayAlerts = True
Application.StatusBar = False
End Sub