Outlook
Outlook is een interessante bron wanneer het gaat om het beheren van contactpersonen. Hiertoe heeft Outlook zelfs een ingebouwde module met contactpersonen. Een groot voordeel is dat alle velden in principe al bestaan. Eventuele extra velden kunnen worden toegevoegd.
Daarnaast kunnen deze contactpersonen ook worden gebruikt voor het samenvoegen met een Word-document. In dit artikel wordt dat nader toegelicht.
Ook hier zal weer een verwijzing gemaakt moeten worden naar een bibliotheek, in dit geval die van Outlook. De onderstaande klassenmodule demonstreert hoe de contactpersonen live ingelezen en bewerkt kunnen worden.
'----------------------------------------------------------------------------------------------------------------------- ' Auteur : pascalterheege.nl ' Datum : 5-4-2017 ' Object : clsOutlook ' Doel : waarden laden, wijzigen en verwijderen uit WordBestand ' Verwijzing : Microsoft Outlook X Object library ' Objecten : 1. Outlook applicatie ' 2. Outlook contactpersonen map ' 3. Outlook contactpersoon '----------------------------------------------------------------------------------------------------------------------- Option Explicit Dim objOutlook As Outlook.Application Dim objContactsFolder As Outlook.Folder Dim objContactpersoon As Outlook.ContactItem Private Sub Class_Initialize() ' Initialisatie Outlook-objecten Set objOutlook = New Outlook.Application Set objContactsFolder = objOutlook.Session.GetDefaultFolder(olFolderContacts) End Sub Public Sub Laden(lsb As ListBox) ' Waarden uitlezen Dim i As Integer For Each objContactpersoon In objContactsFolder.Items With lsb .AddItem .List(i, 0) = objContactpersoon.CompanyName .List(i, 1) = objContactpersoon.FirstName .List(i, 2) = objContactpersoon.LastName End With i = i + 1 Next End Sub Public Sub Toevoegen(strNummer As String, strVoornaam As String, strAchternaam As String) ' Nieuwe contactpersoon toevoegen Set objContactpersoon = objOutlook.CreateItem(olContactItem) With objContactpersoon .CompanyName = strNummer .FirstName = strVoornaam .LastName = strAchternaam .Save End With End Sub Public Sub Wijzig(strNummer As String, strVoornaam As String, strAchternaam As String) ' Aan de hand van nummer contactpersoon wijzigen For Each objContactpersoon In objContactsFolder.Items With objContactpersoon If .CompanyName = strNummer Then .FirstName = strVoornaam .LastName = strAchternaam .Save End If End With Next End Sub Public Sub Verwijder(strNummer As String, blnAlles As Boolean) ' Aan de hand van nummer contactpersoon verwijderen For Each objContactpersoon In objContactsFolder.Items With objContactpersoon If blnAlles = True Then .Delete Else If .CompanyName = strNummer Then .Delete End If End If End With Next End Sub Private Sub Class_Terminate() ' Deinitialisatie Outlook-objecten objOutlook.Quit Set objContactpersoon = Nothing Set objContactsFolder = Nothing Set objOutlook = Nothing End Sub