Outlook Kontakt suche via Excel VBA

Home-›Foren-›Outlook Tools + Addons-›Outlook Kontakt suche via Excel VBA

2 Antworten anzeigen - 1 bis 2 (von insgesamt 2)
  • Autor
    Beitrag
  • #1030819
    Jenson
    Teilnehmer

      Hallo zusammen,

      ich habe einen potentielle Kundenadresse inkl. TelNr. bei dem sichergestellt sein muß,
      dass er nicht schon in Outlook – Kontakte angelegt ist.

      Ich würde nun gerne überprüfen, ob die Telefonnummer bereits einem
      Bestandskunden in Outlook zugeordnet ist. Wenn ja, soll dieser Kontakt geöffnet werden.
      Wenn nicht, soll die Telefonnummer markiert werden. Optimalerweise
      soll dann die “^”-Taste gedrückt werden, da dann der Kunde ohne die Nummer
      extra einzugeben vom Softphone gewählt wird.

      Leider bin ich bei der Netz-Recherche nicht fündig geworden – bin mir aber sicher,
      dass das geht….

      lg
      Jenson

      #1030820
      Mailhilfe
      Administrator

        Hallo Jenson,

        Dein Vorhaben lässt sich mit VBA in Excel umsetzen, indem du die Outlook-Objektbibliothek in deinem VBA-Projekt referenzierst und dann entsprechende Skripte schreibst, um auf die Outlook-Kontakte zuzugreifen, nach der Telefonnummer zu suchen und entsprechende Aktionen durchzuführen. Hier ist eine schrittweise Anleitung, wie du vorgehen könntest:

        Schritt 1: Referenz zur Outlook-Objektbibliothek hinzufügen

        1. Öffne Excel und gehe zum VBA-Editor (Alt + F11).
        2. Im VBA-Editor, gehe zu “Extras” > “Verweise”.
        3. Suche in der Liste nach “Microsoft Outlook xx.0 Object Library” (wobei “xx” für die Versionsnummer steht, z.B. “Microsoft Outlook 16.0 Object Library” für Outlook 2016). Setze ein Häkchen davor und bestätige mit “OK”.

        Schritt 2: VBA-Skript schreiben

        Im VBA-Editor kannst du nun ein Modul erstellen (Einfügen > Modul) und folgenden Code einfügen. Dieser Code sucht in deinen Outlook-Kontakten nach einer bestimmten Telefonnummer. Wenn die Telefonnummer gefunden wird, öffnet der Code den entsprechenden Kontakt. Wenn nicht, könntest du eine weitere Aktion definieren, wie z.B. das Markieren der Telefonnummer oder das Drücken der “^”-Taste.

        Sub SucheOutlookKontakt()
        Dim OutlookApp As Object
        Dim Namespace As Object
        Dim Ordner As Object
        Dim KontaktItem As Object
        Dim Gefunden As Boolean
        Dim Telefonnummer As String

        ‘ Telefonnummer, die gesucht werden soll
        Telefonnummer = “123456789” ‘ Hier die tatsächliche Telefonnummer einsetzen

        ‘ Outlook-Instanz erstellen
        Set OutlookApp = CreateObject(“Outlook.Application”)
        Set Namespace = OutlookApp.GetNamespace(“MAPI”)

        ‘ Auf den Kontakte-Ordner zugreifen
        Set Ordner = Namespace.GetDefaultFolder(10) ‘ 10 steht für den Ordner Kontakte

        Gefunden = False

        ‘ Suche jeden Kontakt im Kontakte-Ordner
        For Each KontaktItem In Ordner.Items
        If InStr(KontaktItem.BusinessTelephoneNumber, Telefonnummer) > 0 Or _
        InStr(KontaktItem.MobileTelephoneNumber, Telefonnummer) > 0 Or _
        InStr(KontaktItem.HomeTelephoneNumber, Telefonnummer) > 0 Then
        ‘ Telefonnummer gefunden, Kontakt öffnen
        KontaktItem.Display
        Gefunden = True
        Exit For
        End If
        Next KontaktItem

        If Not Gefunden Then
        ‘ Wenn nicht gefunden, könntest du hier die Aktion für die “^”-Taste definieren
        MsgBox “Telefonnummer nicht gefunden.”, vbInformation
        End If

        ‘ Objekte aufräumen
        Set KontaktItem = Nothing
        Set Ordner = Nothing
        Set Namespace = Nothing
        Set OutlookApp = Nothing
        End Sub

        Schritt 3: Skript ausführen

        Führe das Skript direkt im VBA-Editor aus, indem du es auswählst und auf “Ausführen” klickst oder F5 drückst.

        Hinweis zur “^”-Taste:

        Das Simulieren von Tastendrücken, wie das Drücken der “^”-Taste, kann in VBA etwas komplexer sein, besonders wenn es um die Interaktion mit externen Anwendungen geht. Eine einfache Möglichkeit, eine Tastenkombination in VBA zu simulieren, ist die Verwendung der SendKeys-Methode, allerdings kann diese Methode unzuverlässig sein und funktioniert möglicherweise nicht immer wie erwartet, besonders in Kombination mit anderen Anwendungen wie einem Softphone.

        If Not Gefunden Then
        ‘ Telefonnummer markieren oder “^”-Taste simulieren
        SendKeys “^”, True
        End If

        Bitte beachte, dass SendKeys bestimmte Sicherheitsrisiken birgt und in manchen Umgebungen deaktiviert sein kann. Es ist immer empfehlenswert, nach spezifischen Lösungen für die Anwendung zu suchen, mit der du interagierst (in deinem Fall das Softphone), um herauszufinden, ob es eine sicherere und zuverlässigere Schnittstelle für die Automation bietet.

        Ich hoffe, diese Anleitung hilft dir dabei, dein Projekt umzusetzen. Wenn du weitere Fragen hast oder spezifische Probleme auftreten, zögere nicht, weitere Hilfe zu suchen.

         

      2 Antworten anzeigen - 1 bis 2 (von insgesamt 2)

      -