Att ha tillgång till dina Outlook-kontakter i Excel kan underlätta många arbetsuppgifter, från att skapa e-postlistor till att hantera kundrelationer. I denna guide kommer vi att gå igenom hur du kan använda ett makro för att importera Outlook-kontakter till Excel och ett kalkylblad.

Varför använda ett makro?
Det finns flera sätt att exportera kontakter från Outlook; att använda ett makro ger en mer direkt och automatiserad metod. Genom att bruka VBA (Visual Basic for Applications) kan du enkelt koppla samman Excel och Outlook, vilket gör processen snabb och effektiv.
Metod för att koppla upp sig mot outlook
För att Excel ska kunna kommunicera med Outlook använder vi oss av MAPI (Messaging Application Programming Interface). Med denna metod kan vi enkelt hämta kontakter och annan information.
Använda GetDefaultFolder
För att få tillgång till en specifik mapp i Outlook, använder vi egenskapen GetDefaultFolder()
. I vårt fall väljer vi mappen för kontakter, vilket motsvarar värdet 10.
Set olContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(10)
Nedan följer en lista över de olika mapparna i Outlook och deras motsvarande värden:
Parameter | Outlook-folder |
---|---|
3 | Deleted Items |
4 | Outbox |
5 | Sent Items |
6 | Inbox |
9 | Calendar |
10 | Contacts |
11 | Journal |
12 | Notes |
13 | Tasks |
16 | Drafts |
Referenser till outlook-objekten
Innan du kör VBA-koden måste du se till att du har rätt referenser angivna i VBA-editorn.
Gå till Tools -> References
och se till att Outlook-biblioteket är markerat.

VBA-kod för att importera Outlook-kontakter
Nedan följer fullständig kod för att importera kontakter till ditt Excel-blad. Du kan köra den från ett kalkylblad eller lägga den i din Personal Macro Workbook för generell åtkomst.
Sub Importera_Outlook_Contacts()
Dim olApp As Outlook.Application
Dim olContacts As Outlook.MAPIFolder
Dim olContact As Outlook.ContactItem
Dim i As Integer
Set olApp = New Outlook.Application
Set olContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(10)
' kolumnrubriker
Cells(1, 1) = "Namn"
Cells(1, 2) = "E-mail"
Cells(1, 3) = "Titel"
Cells(1, 4) = "Företag"
Cells(1, 5) = "Tel (hem)"
Cells(1, 6) = "Tel (mobil)"
Cells(1, 7) = "Tel (arbete)"
Cells(1, 8) = "Fax (arbete)"
Cells(1, 9) = "Adress (företag)"
Cells(1, 10) = "Postnr (företag)"
Cells(1, 11) = "Stad (företag)"
Cells(1, 12) = "Land (företag)"
Cells(1, 13) = "Adress (hem)"
Cells(1, 14) = "Postnr (hem)"
Cells(1, 15) = "Stad (hem)"
Cells(1, 16) = "Land (hem)"
' importerar contact-items
For i = 2 To olContacts.Items.Count
If TypeOf olContacts.Items.Item(i) Is Outlook.ContactItem Then
Set olContact = olContacts.Items.Item(i)
Cells(i, 1) = olContact.FullName
Cells(i, 2) = olContact.Email1Address
Cells(i, 3) = olContact.JobTitle
Cells(i, 4) = olContact.CompanyName
Cells(i, 5) = olContact.HomeTelephoneNumber
Cells(i, 6) = olContact.MobileTelephoneNumber
Cells(i, 7) = olContact.BusinessTelephoneNumber
Cells(i, 8) = olContact.BusinessFaxNumber
Cells(i, 9) = olContact.BusinessAddressStreet
Cells(i, 10) = olContact.BusinessAddressPostalCode
Cells(i, 11) = olContact.BusinessAddressCity
Cells(i, 12) = olContact.BusinessAddressCountry
Cells(i, 13) = olContact.HomeAddressStreet
Cells(i, 14) = olContact.HomeAddressPostalCode
Cells(i, 15) = olContact.HomeAddressCity
Cells(i, 16) = olContact.HomeAddressCountry
End If
Next
' stänger ned objekt-variablerna
Set olContact = Nothing
Set olContacts = Nothing
Set olApp = Nothing
' sorterar listan efter namn
Cells.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess
End Sub
Säkerhetsåtgärd i outlook
Observera att när du kör detta program kommer Outlook att be om åtkomst. Du måste givetvis svara "JA" för att ge Excel åtkomst till dina kontakter.

Avslutande tankar
Nu har du en komplett guide för att importera dina Outlook-kontakter till Excel med hjälp av VBA. Genom att följa stegen ovan kan du enkelt få tillgång till och organisera dina kontakter.