So ändern Sie die Ordnerklasse nach dem Export eines IMAP-Kontos

Outlook VBA

Beim Export eines IMAP-Kontos aus Outlook in eine PST-Datei können bestimmte Ordner als „IPF.Imap“ klassifiziert bleiben. Diese IMAP-Klassifizierung führt dazu, dass die Ordner in Outlook nicht wie reguläre E-Mail-Ordner funktionieren. Dieses Problem tritt häufig auf, wenn Benutzer ihre E-Mails von IMAP-Servern in lokale Outlook-Datendateien exportieren. Eine Lösung hierfür besteht darin, die Ordnerklasse von „IPF.Imap“ auf „IPF.Note“ zu ändern, sodass die Ordner wieder als reguläre E-Mail-Ordner angezeigt werden.

In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe eines VBA-Skripts alle betroffenen Ordner und Unterordner automatisch erkennen und die Ordnerklasse entsprechend anpassen können.

Warum tritt dieses Problem auf?

Outlook verwendet verschiedene Ordnerklassen, um unterschiedliche Ordnerarten zu kennzeichnen. Zum Beispiel:

  • IPF.Imap: Wird für Ordner verwendet, die mit IMAP-Konten verbunden sind.
  • IPF.Note: Ist die Standardordnerklasse für normale E-Mail-Ordner.

Wenn ein IMAP-Konto exportiert wird, kann es passieren, dass die Ordnerklasse als „IPF.Imap“ erhalten bleibt. Dies führt zu Problemen bei der Verwaltung dieser Ordner in Outlook, da sie möglicherweise nicht alle Funktionen unterstützen, die reguläre E-Mail-Ordner bieten.

Lösungsansatz: Automatisierte Änderung der Ordnerklasse

Das nachfolgende VBA-Skript durchläuft Ihre Outlook-Ordner, überprüft die Ordnerklasse und ändert sie bei Bedarf von „IPF.Imap“ auf „IPF.Note“.

Schritt-für-Schritt-Anleitung

  • Outlook VBA-Editor öffnen: Drücken Sie Alt + F11, um den VBA-Editor in Outlook zu öffnen.
  • Neues Modul erstellen: Klicken Sie im linken Bereich mit der rechten Maustaste auf „Project1“ und wählen Sie „Einfügen“ > „Modul“.
  • VBA-Code einfügen: Kopieren Sie den folgenden VBA-Code in das Modul:

Option Explicit
Dim SubFolder As MAPIFolder

Sub ChangeFolderClassAllSubFolders()
Dim i As Long
Dim iNameSpace As NameSpace
Dim myOlApp As Outlook.Application
Dim ChosenFolder As Object
Dim Folders As New Collection
Dim EntryID As New Collection
Dim StoreID As New Collection

Set myOlApp = Outlook.Application
Set iNameSpace = myOlApp.GetNamespace("MAPI")
Set ChosenFolder = iNameSpace.PickFolder
If ChosenFolder Is Nothing Then GoTo ExitSub:

Call GetFolder(Folders, EntryID, StoreID, ChosenFolder)
ChangeFolderContainer

For i = 1 To Folders.Count
Set SubFolder = myOlApp.Session.GetFolderFromID(EntryID(i), StoreID(i))
On Error Resume Next
ChangeFolderContainer
On Error GoTo 0
Next i
ExitSub:
End Sub

Private Sub ChangeFolderContainer()
Dim oFolder As Outlook.Folder
Dim oPA As Outlook.PropertyAccessor
Dim PropName, Value, folderType As String

PropName = "http://schemas.microsoft.com/mapi/proptag/0x3613001E"
Value = "IPF.Note"

On Error Resume Next
Set oFolder = SubFolder
Set oPA = oFolder.PropertyAccessor

folderType = oPA.GetProperty(PropName)
Debug.Print SubFolder.Name & " " & folderType

If folderType = "IPF.Imap" Then
oPA.SetProperty PropName, Value
Debug.Print "Geändert: " & SubFolder.Name & " auf " & Value
End If

Set oFolder = Nothing
Set oPA = Nothing
End Sub

Sub GetFolder(Folders As Collection, EntryID As Collection, StoreID As Collection, Fld As MAPIFolder)
Dim SubFolder As MAPIFolder

Folders.Add Fld.FolderPath
EntryID.Add Fld.EntryID
StoreID.Add Fld.StoreID
For Each SubFolder In Fld.Folders
GetFolder Folders, EntryID, StoreID, SubFolder
Next SubFolder
End Sub

  • Makrosicherheit anpassen: Stellen Sie sicher, dass die Makrosicherheit auf „Niedrig“ eingestellt ist (unter „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ > „Makroeinstellungen“).
  • Makro ausführen: Führen Sie das Makro aus, indem Sie F5 im VBA-Editor drücken. Es wird ein Dialogfenster angezeigt, in dem Sie den Stammordner auswählen können, den das Makro durchsuchen soll. Das Makro durchläuft dann alle Unterordner und ändert die Ordnerklasse von „IPF.Imap“ auf „IPF.Note“.

Funktionsweise des Codes

  • ChangeFolderClassAllSubFolders: Startet das Makro, lässt Sie einen Ordner auswählen und durchläuft dann alle Unterordner.
  • ChangeFolderContainer: Ändert die Ordnerklasse, wenn sie als „IPF.Imap“ erkannt wird.
  • GetFolder: Sammelt alle Unterordner des ausgewählten Ordners und speichert sie in einer Sammlung, damit sie nacheinander bearbeitet werden können.

Zusammenfassung

Dieses VBA-Skript ist eine einfache und effektive Möglichkeit, die Ordnerklassifizierung in Outlook nach dem Export eines IMAP-Kontos zu korrigieren. Die Automatisierung des Prozesses spart Zeit und verhindert Fehler, die bei einer manuellen Bearbeitung vieler Ordner auftreten könnten.

Durch die Anpassung der Ordnerklasse von „IPF.Imap“ auf „IPF.Note“ können alle E-Mails und Ordner wieder korrekt in Outlook angezeigt und verwaltet werden.

Hinweis: Stellen Sie sicher, dass Sie vor dem Ausführen von Makros immer eine Sicherungskopie Ihrer Outlook-Datendateien erstellen, um Datenverlust zu vermeiden.

-

Vorheriger Artikel Nächster Artikel

Hat Ihnen der Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA eingeben * Das Zeitlimit ist erschöpft. Bitte CAPTCHA neu laden.