benutzerdefiniertes Feld "USERNAME"

Wo klemmt es in Outlook? AddIn gesucht? Wer kann helfen?
Antworten
Martin011
Beiträge: 3
Registriert: Sonntag, 01. Oktober 2017 - 14:39 Uhr

benutzerdefiniertes Feld "USERNAME"

Beitrag von Martin011 »

Hallo zusammen,

ich möchte, dass bei einer Änderung im Kontakt im benutzerdefiniertem Feld "USERNAME" der Environ("username") eingetragen wird?

Mit folgendem Code gelingt es mir nicht, kann mir jemand helfen?
Mein Ordner heißt Kontakte im Outlook 2016.
Danke

Code: Alles auswählen

Private WithEvents olItems As Outlook.Items

Private Sub Application_Startup()
    Dim olNS As Outlook.NameSpace
    Dim olFolder As Outlook.Folder
    
    ' Namespace und Standardkontaktordner festlegen
    Set olNS = Application.GetNamespace("MAPI")
    Set olFolder = olNS.GetDefaultFolder(olFolderContacts)
    
    ' Ereignislistener für den Kontaktordner einrichten
    Set olItems = olFolder.Items
End Sub

Private Sub olItems_ItemChange(ByVal Item As Object)
    Dim olContact As Outlook.ContactItem
    
    ' Überprüfen, ob es sich um einen Kontakt handelt
    If TypeOf Item Is Outlook.ContactItem Then
        Set olContact = Item
        
        ' Überprüfen, ob das Feld "Lastusername" vorhanden ist
        If olContact.UserProperties.Find("Lastusername") Is Nothing Then
            ' Wenn nicht, das benutzerdefinierte Feld hinzufügen
            olContact.UserProperties.Add "Lastusername", Outlook.OlUserPropertyType.olText
        End If
        
        ' Den Wert von Environ("username") in das Feld "Lastusername" eintragen
        olContact.UserProperties("Lastusername").Value = Environ("username")
        
        ' Speichern der Änderungen im Kontakt
        olContact.Save
    End If
End Sub
Antworten