Access Outlook Addressbook from within Excel

%3CLINGO-SUB%20id%3D%22lingo-sub-2463088%22%20slang%3D%22en-US%22%3EAccess%20Outlook%20Addressbook%20from%20within%20Excel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2463088%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%3EIs%20it%20possible%20to%20access%20the%20Outlook%20address%20book%26nbsp%3Band%20read%20out%20the%20members%26nbsp%3Bof%20an%20email%20group%20and%20import%20it%20in%20Excel%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EKind%20regards%2C%3CBR%20%2F%3EJan%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2463088%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EExcel%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2463363%22%20slang%3D%22en-US%22%3ERe%3A%20Access%20Outlook%20Addressbook%20from%20within%20Excel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2463363%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F1082468%22%20target%3D%22_blank%22%3E%40JanKrooshof7881%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHier%20eine%20m%C3%B6glichkeit%20mit%20%3CA%20href%3D%22https%3A%2F%2Fwww.herber.de%2Fforum%2Farchiv%2F372to376%2F374568_Outlook_Kontakte_auslesen_und_eintragen.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EVBA%3C%2FA%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3EOption%20Explicit%0A%0A%0ASub%20ListBoxfromOutlook()%0ADim%20Verz%20%20%20%20%20%20%20As%20Object%0ADim%20iIndx%20%20%20%20%20%20As%20Integer%0ADim%20olMAPI%20%20%20%20%20As%20Object%0ADim%20objItem%20%20%20%20As%20Object%0ASet%20olMAPI%20%3D%20CreateObject(%22Outlook.Application%22)%0A%20%0A%20%20%20Application.DisplayAlerts%20%3D%20False%0A%20%20%20%0A%20%20%20Application.StatusBar%20%3D%20%22%20%20%20the%20addresses%20are%20taken%20from%20Outlook%20%22%20_%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26amp%3B%20%22-%20This%20may%20take%20a%20moment.%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20Set%20Verz%20%3D%20olMAPI.GetNamespace(%22MAPI%22).GetDefaultFolder(olFolderContacts)%0A%20%20%20%0A%20%20%20UserForm1.ListBox1.ColumnCount%20%3D%207%0A%20%20%20UserForm1.ListBox1.ColumnWidths%20%3D%20_%0A%20%20%20%20%20%20%20%20%20%20%20%20%227%2C0%20cm%3B%203%2C5%20cm%3B%201%2C0%20cm%3B%203%2C0%20cm%3B%201%2C0%20cm%3B%203%2C5%20cm%3B%203%2C0%20cm%22%0A%20%20%20For%20iIndx%20%3D%201%20To%20Verz.Items.Count%0A%20%20%20%20%20%20Set%20objItem%20%3D%20Verz.Items(iIndx)%0A%20%20%20%20%20%20With%20objItem%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.AddItem%20%22%20%22%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%200)%20%3D%20.FirstName%20_%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26amp%3B%20%22%20%22%20%26amp%3B%20.LastName%0A%20%20%20%20%20%20%20%20%20If%20.BusinessAddressPostOfficeBox%20%3D%20%22%22%20Then%0A%20%20%20%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%201)%20%3D%20.BusinessAddressStreet%0A%20%20%20%20%20%20%20%20%20%20Else%0A%20%20%20%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%201)%20%3D%20.BusinessAddressPostOfficeBox%0A%20%20%20%20%20%20%20%20%20End%20If%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%202)%20%3D%20.BusinessAddressPostalCode%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%203)%20%3D%20.BusinessAddressCity%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%204)%20%3D%20.CustomerID%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%205)%20%3D%20.AssistantName%0A%20%20%20%20%20%20%20%20%20UserForm1.ListBox1.List(iIndx%20-%201%2C%206)%20%3D%20.MiddleName%0A%20%20%20%20%20%20End%20With%0A%20%20%20Next%20iIndx%0A%20%20%20%20%20%20%0A%20%20%20Set%20objItem%20%3D%20Nothing%0A%20%20%20Set%20olMAPI%20%3D%20Nothing%0A%20%20%20%0A'%20%20%20sort%20the%20ListBox%20by%20name%20(by%20only%20one%2C%20the%20first%20column)%20%20%20%0A'%20%20%20listbox_quick_sort%200%2C%206%2C%20UserForm1.ListBox1%2C%200%2C%20UserForm1.ListBox1.ListCount%20-%201%0A%20%20%20%0A%20%20%20Application.DisplayAlerts%20%3D%20True%0A%20%20%20%0A%20%20%20Application.StatusBar%20%3D%20False%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0AEnd%20Sub%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20would%20be%20happy%20to%20know%20if%20I%20could%20help.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENikolino%3C%2FP%3E%3CP%3EI%20know%20I%20don't%20know%20anything%20(Socrates)%3C%2FP%3E%3CP%3E*%20Kindly%20Mark%20and%20Vote%20this%20reply%20if%20it%20helps%20please%2C%20as%20it%20will%20be%20beneficial%20to%20more%20Community%20members%20reading%20here.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2672782%22%20slang%3D%22en-US%22%3ERe%3A%20Access%20Outlook%20Addressbook%20from%20within%20Excel%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2672782%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F722750%22%20target%3D%22_blank%22%3E%40NikolinoDE%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHi%20Nikolino%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20respons%20on%20my%20question.%20It%20has%20been%20a%20while%20ago%2C%20but%20I%20did%20not%20have%20the%20time%20before%20to%20get%20to%20your%20answer.%3C%2FP%3E%3CP%3EThe%20VBA%20stops%20at%3A%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22JanKrooshof7881_0-1629622331884.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F304914iCB066727E2CA21C6%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22JanKrooshof7881_0-1629622331884.png%22%20alt%3D%22JanKrooshof7881_0-1629622331884.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EWhat%20can%20I%20do%20about%20that%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EKind%20regards%2C%3CBR%20%2F%3EJan%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

Is it possible to access the Outlook address book and read out the members of an email group and import it in Excel?

 

Kind regards,
Jan

3 Replies

@JanKrooshof7881 

 

Hier eine möglichkeit mit VBA

Option Explicit


Sub ListBoxfromOutlook()
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 = "   the addresses are taken from Outlook " _
                         & "- This may take a moment."
             
   Set Verz = olMAPI.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
   
   UserForm1.ListBox1.ColumnCount = 7
   UserForm1.ListBox1.ColumnWidths = _
            "7,0 cm; 3,5 cm; 1,0 cm; 3,0 cm; 1,0 cm; 3,5 cm; 3,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) = .FirstName _
                                         & " " & .LastName
         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) = .BusinessAddressPostalCode
         UserForm1.ListBox1.List(iIndx - 1, 3) = .BusinessAddressCity
         UserForm1.ListBox1.List(iIndx - 1, 4) = .CustomerID
         UserForm1.ListBox1.List(iIndx - 1, 5) = .AssistantName
         UserForm1.ListBox1.List(iIndx - 1, 6) = .MiddleName
      End With
   Next iIndx
      
   Set objItem = Nothing
   Set olMAPI = Nothing
   
'   sort the ListBox by name (by only one, the first column)   
'   listbox_quick_sort 0, 6, UserForm1.ListBox1, 0, UserForm1.ListBox1.ListCount - 1
   
   Application.DisplayAlerts = True
   
   Application.StatusBar = False
              
End Sub

 

I would be happy to know if I could help.

 

Nikolino

I know I don't know anything (Socrates)

* Kindly Mark and Vote this reply if it helps please, as it will be beneficial to more Community members reading here.

@NikolinoDE 

 

Hi Nikolino,

 

Thank you for your respons on my question. It has been a while ago, but I did not have the time before to get to your answer.

The VBA stops at: 

JanKrooshof7881_0-1629622331884.png

What can I do about that?

 

Kind regards,
Jan

 

mohammedshihab8/22/2021