Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

prüfen ob Outlook Ordner vorhanden

Forumthread: prüfen ob Outlook Ordner vorhanden

prüfen ob Outlook Ordner vorhanden
02.07.2014 13:39:46
urmila

Hallo zusammen,
nun suche ich nach folgendes und hoffe ihr könnt mir da behilflich sein.
Ich will per VBA vom Excel aus prüfen, ob ein bestimmter Ordner im Outlook vorhanden ist, falls nicht, soll dieser angelegt werden.
P.S. ist es auch möglich zu bestimmen wo er suchen soll, also Postfach (Posteingang oder in einen bestimmten Ordner)?
Vielen Dank und sonnigen LG
Urmila

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: prüfen ob Outlook Ordner vorhanden
02.07.2014 20:25:02
Martin
Hallo Urmila,
wenn ich dir ein Buch zu dem Thema von Michael Schwimmer empfehlen darf:
Excel-VBA, Einstieg für Anspruchsvolle
ISBN-10: 3827325250
ISBN-13: 978-3827325259
Auf Seite 414 wird erklärt wie Outlook-Ordner ausgelesen werden können.
Ich hätte aber ein schlechtes Gewissen, wenn ich seinen Code jetzt einfach hier veröffentlichen würde, dieses "Copy&Paste"-Verhalten erachte ich als unfair.
Ordner können mit VBA selbstverständlich auch angelegt werden. Hier ein Beispiel zum Anlegen einen Unterordners im Posteingang:
Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Folders.Add ("Test")
Viele Grüße
Martin

Anzeige
AW: prüfen ob Outlook Ordner vorhanden
03.07.2014 11:34:42
urmila
Hallo Martin, Klaus,
zwar war ich auf der Suche nach "ob vorhanden oder nicht" aber ich suche nach diesem Buch und hoffentlich bringt es mir weiter.
VIelen Dank für den Tipp und LG
Urmila

;
Anzeige

Infobox / Tutorial

Prüfen, ob ein Outlook-Ordner vorhanden ist


Schritt-für-Schritt-Anleitung

Um per VBA in Excel zu prüfen, ob ein bestimmter Ordner in Outlook vorhanden ist und diesen gegebenenfalls anzulegen, kannst du die folgenden Schritte befolgen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du im Menü auf Einfügen > Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub CheckAndCreateOutlookFolder()
       Dim outlookApp As Object
       Dim namespace As Object
       Dim inbox As Object
       Dim folder As Object
       Dim folderName As String
       folderName = "Test" ' Name des zu prüfenden Ordners
    
       ' Outlook-Instanz erstellen
       Set outlookApp = CreateObject("Outlook.Application")
       Set namespace = outlookApp.GetNamespace("MAPI")
       Set inbox = namespace.GetDefaultFolder(6) ' 6 steht für Posteingang
    
       ' Prüfen, ob der Ordner vorhanden ist
       On Error Resume Next
       Set folder = inbox.Folders(folderName)
       On Error GoTo 0
    
       ' Ordner anlegen, falls nicht vorhanden
       If folder Is Nothing Then
           inbox.Folders.Add folderName
           MsgBox "Ordner '" & folderName & "' wurde erstellt."
       Else
           MsgBox "Ordner '" & folderName & "' ist bereits vorhanden."
       End If
    End Sub
  4. Ändere den folderName, um den gewünschten Ordnernamen anzugeben.

  5. Führe das Makro aus, indem du im VBA-Editor auf Run > Run Sub/UserForm klickst oder F5 drückst.


Häufige Fehler und Lösungen

  • Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

    • Dieser Fehler tritt auf, wenn das Outlook-Objekt nicht korrekt erstellt wurde. Stelle sicher, dass Outlook auf deinem Computer installiert ist und überprüfe die VBA-Referenzen.
  • Fehler: "Ordner bereits vorhanden, aber nicht gefunden."

    • Überprüfe, ob du den genauen Namen des Ordners angegeben hast. Outlook unterscheidet zwischen Groß- und Kleinschreibung.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch Folgendes ausprobieren:

  • Verwendung von Outlook-Regeln: Du kannst Regeln in Outlook erstellen, die bestimmte Aktionen durchführen, wenn E-Mails in einen bestimmten Ordner verschoben werden.

  • Power Automate: Mit Microsoft Power Automate kannst du Flows erstellen, die automatisch Ordner in Outlook anlegen, wenn bestimmte Bedingungen erfüllt sind.


Praktische Beispiele

  1. Ordner im Posteingang anlegen: Der obige VBA-Code prüft und erstellt einen Ordner im Posteingang.
  2. Ordner in einem anderen Postfach anlegen: Ändere die Zeile Set inbox = namespace.GetDefaultFolder(6) zu Set inbox = namespace.Folders("DeinPostfach").Folders("Posteingang"), um in einem anderen Postfach zu suchen.

Tipps für Profis

  • Verwende On Error Resume Next, um Fehler zu ignorieren, jedoch sei vorsichtig, da dies das Debugging erschweren kann. Überlege, Fehler spezifisch zu behandeln.
  • Halte deinen Code modular und dokumentiere wichtige Schritte, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich den Ordner in einem anderen Outlook-Ordner suchen? Du kannst die GetDefaultFolder Methode entsprechend anpassen, um in verschiedenen Ordnern zu suchen. Beispielsweise kannst du GetNamespace("MAPI").Folders("DeinPostfach").Folders("Ordnername") verwenden.

2. Ist dieser Code in allen Excel-Versionen anwendbar? Ja, der Code sollte in den meisten Excel-Versionen funktionieren, die das VBA-Modul unterstützen, solange Outlook installiert ist.

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