Poniższe makro pozwala na export kontaktów w formacie wizytówek ze wskazanego folderu Outlooka. Docelowym folderem jest katalog "C:/Kontakty".
Option Explicit
Sub Export_PAB_to_vcfs()
Dim myOlApp As Outlook.Application
Dim objContact As ContactItem
Dim olNs As NameSpace
Dim NumItems As Long, i As Long, strName As String
Dim myFolder As MAPIFolder
Set myOlApp = New Outlook.Application
Set olNs = myOlApp.GetNamespace("MAPI")
Dim bExitFor: bExitFor = False
Do
Set myFolder = Application.GetNamespace("MAPI").PickFolder
If myFolder Is Nothing Then
Exit Sub
End If
If myFolder.DefaultMessageClass <> "IPM.Contact" Then
MsgBox "Wpisanie inf do folderu ''" & myFolder.Name & "'' nie jest możliwe." & vbCr _
& "Wybierz folder kontaktow!", vbExclamation, " Informacja o błędzie"
Set myFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
Else
bExitFor = True
End If
Loop While Not bExitFor
Set myFolder = Application.GetNamespace("MAPI").GetFolderFromID(myFolder.EntryID, myFolder.StoreID)
NumItems = myFolder.Items.Count
On Error Resume Next
MkDir "c:\kontakty"
For i = 1 To NumItems
DoEvents
Set objContact = myFolder.Items(i)
If Not TypeName(objContact) = "Nothing" Then
If Not objContact.FullName = "" Then
strName = "C:\kontakty\" & objContact.FullName & ".vcf"
objContact.SaveAs strName, olVCard
End If
End If
Next
Set myOlApp = Nothing
Set olNs = Nothing
Set myFolder = Nothing
MsgBox "Gotowe"
End Sub
W przypadku kiedy chcemy zaimportować kontakt z Outlook do Thuderbirda to musimy kontakt taki przekonwertować na inny standard kodowy. Najlepiej do tego użyć tego programu. Proponowanego również na łamach WSS.