vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: COM/OLE/Registry/DLL · Automation   |   VB-Versionen: VB4, VB5, VB621.03.07
Outlook: Neuen Kontakt hinzufügen

Mit dieser Funktion lässt sich programmgesteurt eine neue Adresse im Kontakt-Ordner von Outlook hinzufügen.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  30.008 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Mit dieser Funktion lässt sich programmgesteuert ein neuer Eintrag im Adressbuch von Outlook (Kontakt-Ordner) erstellen. Aktivieren Sie hierzu zunächst den Verweis "Microsoft Outlook x.0 Object Library" und fügen nachfolgenden Code in den Codeteil Ihres Projekts ein.

Public Function olAddContact(ByVal sLastName As String, _
  Optional ByVal sFirstName As String, _
  Optional ByVal sCompanyName As String, _
  Optional sPhoneNumber As String, _
  Optional ByVal sEMail As String, _
  Optional ByVal sWebPage As String) As Boolean
 
  ' Neuen Outlook-Kontakt hinzufügen
  Dim oOutlook As Outlook.Application
  Dim oNameSpace As Outlook.NameSpace
  Dim oMAPIFolder As Outlook.MAPIFolder
  Dim oContact As Outlook.ContactItem
 
  ' Fehlerbehandlung aktivieren
  On Error GoTo ErrHandler
 
  ' Outlook-Application-Objekt erstellen
  Set oOutlook = CreateObject("Outlook.Application")
 
  ' Namespace initialisieren
  Set oNameSpace = oOutlook.GetNamespace("MAPI")
 
  ' Kontakt-Ordner verwenden
  Set oMAPIFolder = oNameSpace.GetDefaultFolder(olFolderContacts)
 
  ' Objekt für neuen Eintrag erstellen
  Set oContact = oMAPIFolder.Items.Add
  With oContact
    ' Eigenschaften des Eintrag festlegen
    .LastName = Trim$(sLastName)
    .FirstName = Trim$(sFirstName)
    .CompanyName = Trim$(sCompanyName)
    .PrimaryTelephoneNumber = Trim$(sPhoneNumber)
    .Email1Address = Trim$(sEMail)
    .WebPage = Trim$(sWebPage)
 
    ' hier können natürlich noch weitere Eigenschaften
    ' für den neuen Kontakt festgelegt werden, wie z.B.
    ' HomeAddressStreet, HomeAddressCity, etc.
    ' (siehe hierzu VB-Objekt-Katalog - Outlook - ContactItem)
    ' ...
 
    ' Kontakt speichern
    .Save
  End With
  olAddContact = True
 
ErrHandler:
  If Err.Number <> 0 Then
    MsgBox "Fehler beim Erstellen des Outlook-Kontakts." & vbCrLf & _
      CStr(Err.Number) & " " & Err.Description, vbExclamation + vbOKOnly
 
    olAddContact = False
  End If
 
  ' Objekte wieder freigeben
  Set oContact = Nothing
  Set oMAPIFolder = Nothing
  Set oNameSpace = Nothing
  Set oOutlook = Nothing
End Function

Aufrufbeispiel:

If olAddContact("Otter", "Dieter", "Tools & Components", _
  "(09708) 706247", "info@tools4vb.de", "http://www.tools4vb.de") Then
 
  MsgBox "Herzlichen Glückwunsch." & vbCrLf & _
    "Der Eintrag wurde dem Kontakt-Ordner von Outlook hinzugefügt.", _
    vbInformation + vbOKOnly
End If

Hinweis:
Durch das Aktivieren des Outlook-Verweises (Early-Binding) kann beim Ausführen der Anwendung zu Problemen kommen, wenn auf dem Zielsystem eine andere Outlook-Version installiert ist, als auf Ihrem Entwicklerrechner. Daher empfiehlt es sich besser die Late-Binding-Variante zu verwenden. Deaktivieren Sie hierzu den Verweis auf die Outlook Object Library und ändern den Code wie folgt ab:

Public Function olAddContact(ByVal sLastName As String, _
  Optional ByVal sFirstName As String, _
  Optional ByVal sCompanyName As String, _
  Optional sPhoneNumber As String, _
  Optional ByVal sEMail As String, _
  Optional ByVal sWebPage As String) As Boolean
 
  ' Neuen Outlook-Kontakt hinzufügen
  Dim oOutlook As Object    ' Outlook.Application
  Dim oNameSpace As Object  ' Outlook.NameSpace
  Dim oMAPIFolder As Object ' Outlook.MAPIFolder
  Dim oContact As Object    ' Outlook.ContactItem
 
  Const olFolderContacts = 10
 
  ' Fehlerbehandlung aktivieren
  On Error GoTo ErrHandler
 
  ' Outlook-Application-Objekt erstellen
  Set oOutlook = CreateObject("Outlook.Application")
 
  ' Namespace initialisieren
  Set oNameSpace = oOutlook.GetNamespace("MAPI")
 
  ' Kontakt-Ordner verwenden
  Set oMAPIFolder = oNameSpace.GetDefaultFolder(olFolderContacts)
 
  ' Objekt für neuen Eintrag erstellen
  Set oContact = oMAPIFolder.Items.Add
  With oContact
    ' Eigenschaften des Eintrag festlegen
    .LastName = Trim$(sLastName)
    .FirstName = Trim$(sFirstName)
    .CompanyName = Trim$(sCompanyName)
    .PrimaryTelephoneNumber = Trim$(sPhoneNumber)
    .Email1Address = Trim$(sEMail)
    .WebPage = Trim$(sWebPage)
 
    ' hier können natürlich noch weitere Eigenschaften
    ' für den neuen Kontakt festgelegt werden, wie z.B.
    ' HomeAddressStreet, HomeAddressCity, etc.
    ' (siehe hierzu VB-Objekt-Katalog - Outlook - ContactItem)
    ' ...
 
    ' Kontakt speichern
    .Save
  End With
  olAddContact = True
 
ErrHandler:
  If Err.Number <> 0 Then
    MsgBox "Fehler beim Erstellen des Outlook-Kontakts." & vbCrLf & _
      CStr(Err.Number) & " " & Err.Description, vbExclamation + vbOKOnly
 
    olAddContact = False
  End If
 
  ' Objekte wieder freigeben
  Set oContact = Nothing
  Set oMAPIFolder = Nothing
  Set oNameSpace = Nothing
  Set oOutlook = Nothing
End Function

Dieser Tipp wurde bereits 30.008 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel