Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Namen per VBA in Outlook Adressbuch gezielt suchen

Namen per VBA in Outlook Adressbuch gezielt suchen
06.12.2018 17:39:48
Jannik
Hallo zusammen,
ich habe folgendes Vorhaben. Ich möchte per VBA aus einer Excel Datei heraus gezielt Namen im globalen Adressbuch von Outlook suchen. Aufgrund von einigen Dopplungen im Adressbuch benötige ich allerdings die Möglichkeit entweder:
1. den 2.,3.,4.,... gefundenen Kontakt auch noch auszugeben und auswerten zu können
ODER
2. ein zweiten Suchkriterium eingeben zu können (z.B. neben dem Namen eine Abteilung)
Kann mir hierbei jemand weiter helfen?
Viele Grüße
Jannik
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen per VBA in Outlook Adressbuch gezielt suchen
06.12.2018 17:43:37
Hajo_Zi
Hallo Jannik,
vielleicht ein Ansatz
http://www.office.gmxhome.de/_excel_outlook.htm#Einlesen von Kontakten in das aktuelle Tabellenblatt

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Namen per VBA in Outlook Adressbuch gezielt suchen


Schritt-für-Schritt-Anleitung

Um gezielt Namen im Outlook Adressbuch über VBA aus einer Excel-Datei heraus zu suchen, folge diesen Schritten:

  1. Entwicklertools aktivieren: Stelle sicher, dass die Entwicklertools in Excel aktiviert sind. Gehe zu Datei > Optionen > Menüband anpassen und aktiviere das Kontrollkästchen neben Entwicklertools.

  2. VBA-Editor öffnen: Klicke auf Entwicklertools und dann auf Visual Basic, um den VBA-Editor zu öffnen.

  3. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeinWorkbookName) und wähle Einfügen > Modul.

  4. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub SucheNamenInOutlook()
        Dim olApp As Object
        Dim olNamespace As Object
        Dim olFolder As Object
        Dim olContact As Object
        Dim Suchbegriff As String
        Dim i As Integer
    
        ' Outlook-Instanz erstellen
        Set olApp = CreateObject("Outlook.Application")
        Set olNamespace = olApp.GetNamespace("MAPI")
        Set olFolder = olNamespace.GetDefaultFolder(10) ' 10 = Kontakte
    
        Suchbegriff = InputBox("Gib den Namen oder die Abteilung ein:")
    
        i = 1
        For Each olContact In olFolder.Items
            If InStr(1, olContact.FullName, Suchbegriff, vbTextCompare) > 0 Or _
               InStr(1, olContact.Department, Suchbegriff, vbTextCompare) > 0 Then
                Cells(i, 1).Value = olContact.FullName
                Cells(i, 2).Value = olContact.Department
                i = i + 1
            End If
        Next olContact
    
        MsgBox "Suche abgeschlossen!"
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Klicke auf Makros, wähle SucheNamenInOutlook und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Outlook nicht installiert: Stelle sicher, dass Microsoft Outlook auf deinem Computer installiert ist. Der VBA-Code benötigt Outlook, um auf das Adressbuch zugreifen zu können.

  • Sicherheitswarnungen: Wenn Makros deaktiviert sind, musst du diese aktivieren. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter und aktiviere die Makros.

  • Keine Kontakte gefunden: Überprüfe den eingegebenen Suchbegriff. Achte darauf, dass Du den richtigen Namen oder die Abteilung verwendest.


Alternative Methoden

Wenn Du keine VBA-Lösung nutzen möchtest, kannst Du auch die folgenden Methoden ausprobieren:

  1. Outlook-Suchfunktion: Nutze die eingebaute Suchfunktion in Outlook, um Kontakte schnell zu finden. Einfach den Namen in die Suchleiste eingeben.

  2. Excel-Filter: Exportiere das Adressbuch nach Excel und verwende die Filterfunktion, um gezielt nach Namen oder Abteilungen zu suchen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den VBA-Code anpassen kannst:

  • Suchen nach mehreren Kriterien: Du kannst die If-Bedingung im Code erweitern, um nach mehreren Kriterien gleichzeitig zu suchen.

    If InStr(1, olContact.FullName, Suchbegriff, vbTextCompare) > 0 And _
     InStr(1, olContact.CompanyName, "DeinUnternehmen", vbTextCompare) > 0 Then
  • Ergebnisse in einer neuen Arbeitsmappe: Anstatt die Ergebnisse in der aktuellen Arbeitsmappe auszugeben, kannst Du sie in eine neue Arbeitsmappe schreiben.


Tipps für Profis

  • Fehlerbehandlung einfügen: Füge eine Fehlerbehandlungsroutine hinzu, um das Skript robuster zu machen. Nutze On Error Resume Next, um Fehler zu ignorieren und den Code weiterlaufen zu lassen.

  • Datenvalidierung: Implementiere eine Datenvalidierung, um sicherzustellen, dass der Nutzer einen gültigen Suchbegriff eingibt.


FAQ: Häufige Fragen

1. Frage
Kann ich die Suche auch nach anderen Feldern, wie z.B. E-Mail-Adresse, anpassen?
Ja, Du kannst die If-Bedingungen im Code anpassen, um auch nach E-Mail-Adressen oder anderen Kontaktdaten zu suchen.

2. Frage
Funktioniert dieser VBA-Code in jeder Excel-Version?
Der Code sollte in allen modernen Excel-Versionen funktionieren, die mit Outlook kompatibel sind. Achte darauf, dass du die notwendigen Berechtigungen und Anwendungen installiert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige