Benutzerdefinierte Ordnerfelder im Outlook ex- und importieren
Hallo zusammen,
habe einen 0365 Business Premium Kunden der massiv mit öffentlichen Ordnern arbeitet.
Nun, ich habe diesen erst auf o365 umgestellt und nun eine mittelschwere krise
Der Kunde hatte vorher in Outlook 2010 für Seine Kontakte zum Sortieren unzählige benutzerdefinierte Ordnerfelder angelegt.
Diese Ordnerfelder ( siehe Screenshot ) möchte ich nun gerne exportieren und wieder importieren im Outlook 2016.
Beim Upgrade auf Office 2016 werden diese eigenartigerweise nicht übernommen.
Wer kann mir Tipps geben?
Danke Micha
habe einen 0365 Business Premium Kunden der massiv mit öffentlichen Ordnern arbeitet.
Nun, ich habe diesen erst auf o365 umgestellt und nun eine mittelschwere krise
Der Kunde hatte vorher in Outlook 2010 für Seine Kontakte zum Sortieren unzählige benutzerdefinierte Ordnerfelder angelegt.
Diese Ordnerfelder ( siehe Screenshot ) möchte ich nun gerne exportieren und wieder importieren im Outlook 2016.
Beim Upgrade auf Office 2016 werden diese eigenartigerweise nicht übernommen.
Wer kann mir Tipps geben?
Danke Micha
Please also mark the comments that contributed to the solution of the article
Content-Key: 298734
Url: https://administrator.de/contentid/298734
Printed on: September 24, 2023 at 16:09 o'clock
6 Comments
Latest comment

Die benutzerdefinierten Felder werden normalerweise in der jeweiligen Mailbox gespeichert und den jeweiligen Ordnern zugeordnet, und nicht in den Outlook-Einstellungen.
Wenn also der Store gewechselt wurde ist auch klar das die Felder nicht mehr vorhanden sind.
Könnte man mit VBA exportieren und dann wieder in den Ordnern einspielen. An die Felder kommt man mit der Eigenschaft UserDefinedProperties.
Gruß jodel32
Wenn also der Store gewechselt wurde ist auch klar das die Felder nicht mehr vorhanden sind.
Könnte man mit VBA exportieren und dann wieder in den Ordnern einspielen. An die Felder kommt man mit der Eigenschaft UserDefinedProperties.
Gruß jodel32

Das wäre eher was für eine Auftragsarbeit.
Hallo Micha,
um den Vorschlag von @114757 aufzugreifen könnte ein möglicher VBA-Code zur Migration der benutzerdefinierten Felder von einem Store zum anderen so aussehen:
Zum Starten der Prozedur sollten beide Outlook-Stores (also der Alte und der Neue) in Outlook eingebunden sein. Gestartet werden muss die Prozedur MigrateCustomUserProperties des u.s. Makros.
Dieser fragt dann per Folderpicker den Quell- und den Zielstore ab von wo nach wo die Felder übertragen werden sollen. Danach werden rekursiv alle Ordner des Quellstores nach benutzerdefinierten Feldern durchlaufen und mit dem gleichen Ordner im Zielstore verglichen. Fehlt dort eine Userproperty wird sie im Zielstore angelegt.
Wichtig: Die Ordnerstruktur des neuen Stores sollte also mit der des alten Stores übereinstimmen damit die richtigen Ordner zugeordnet werden können. Findet das Skript die Ordner aus dem alten Store nicht an der gleichen Stelle im neuen Store wieder werden die Felder für die nicht gefundenen Ordner nicht übertragen und übersprungen.
Code wurde hier kurz angetestet und macht hier in der Testumgebung was er soll. Teste ihn einfach mal bei dir.
Weitere Kommentare finden sich im Code
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
um den Vorschlag von @114757 aufzugreifen könnte ein möglicher VBA-Code zur Migration der benutzerdefinierten Felder von einem Store zum anderen so aussehen:
Zum Starten der Prozedur sollten beide Outlook-Stores (also der Alte und der Neue) in Outlook eingebunden sein. Gestartet werden muss die Prozedur MigrateCustomUserProperties des u.s. Makros.
Dieser fragt dann per Folderpicker den Quell- und den Zielstore ab von wo nach wo die Felder übertragen werden sollen. Danach werden rekursiv alle Ordner des Quellstores nach benutzerdefinierten Feldern durchlaufen und mit dem gleichen Ordner im Zielstore verglichen. Fehlt dort eine Userproperty wird sie im Zielstore angelegt.
Wichtig: Die Ordnerstruktur des neuen Stores sollte also mit der des alten Stores übereinstimmen damit die richtigen Ordner zugeordnet werden können. Findet das Skript die Ordner aus dem alten Store nicht an der gleichen Stelle im neuen Store wieder werden die Felder für die nicht gefundenen Ordner nicht übertragen und übersprungen.
Code wurde hier kurz angetestet und macht hier in der Testumgebung was er soll. Teste ihn einfach mal bei dir.
Weitere Kommentare finden sich im Code
Sub MigrateCustomUserProperties()
Dim objStoreTarget As Store, objStoreSource As Store
'Quellstore wählen
MsgBox "Wählen sie im folgenden Dialog einen Quellstore aus welcher die benutzerdefinierten Felder beinhaltet.", vbInformation
Set objStoreSource = Application.Session.PickFolder.Store
' Zielstore wählen
MsgBox "Wählen sie nun einen Zielstore zum Übertragen der benutzerdefinierten Felder aus.", vbInformation
Set objStoreTarget = Application.Session.PickFolder.Store
'rekursive Prozedur starten
processFolders objStoreSource.GetRootFolder, objStoreTarget.GetRootFolder
msgbox "Migration abgeschlossen."
End Sub
Sub processFolders(ByVal fldr As Folder, ByRef objTargetRoot As Folder)
On Error Resume Next
Dim prop As UserDefinedProperty, objTargetFolder As Folder, found As Boolean
found = True
'Anfang für die Ordnerrekutrsion
Set objTargetFolder = objTargetRoot
'Pfad ohne Storenamen erstellen
strFullPath = Split(fldr.FolderPath, "\", 4, 1)(3)
' Navigiere zum Zielordner über einen Split des Pfades durch '\'
For Each strPathPart In Split(strFullPath, "\", -1, 1)
Set objTargetFolder = objTargetFolder.Folders(strPathPart)
If Err.number <> 0 Then
' Wenn Pfad nicht existiert verarbeite stattdessen den nächsten Ordner
found = False
Exit For
End If
Next
' Existiert der gleiche Ordner auch im Zielstore, dann ...
If found Then
'Für jede benutzerdefinierte Eigenschaft des Ordners
For Each prop In fldr.UserDefinedProperties
'Wenn die Eigenschaft im Zielstore noch nicht existiert, lege sie mit den selben Eigenschaften dort an
If objTargetFolder.UserDefinedProperties.Find(prop.Name) Is Nothing Then
objTargetFolder.UserDefinedProperties.Add prop.Name, prop.Type, prop.DisplayFormat, prop.Formula
End If
Next
End If
'Für jeden Unterordner Funktion rekursiv aufrufen
For Each subfolder In fldr.Folders
processFolders subfolder, objTargetRoot
Next
End Sub
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Bedienung ist eigentlich auch für DAUs möglich 

Vielleicht hilft das Skript ja anderen die eine ähnliche Lösung suchen.
Grüße Uwe
Wir haben uns das am WE nochmal angesehen. Es sind ca 50 Benutzerdefinierte Ordnerfelder von denen aber auch nur 10-15 zugewiesen sind. Also ausmisten und schnell per Hand anlegen.
Na in dem Fall ist das was anderes, wenn man damit gleichzeitig das Haus fegt Vielleicht hilft das Skript ja anderen die eine ähnliche Lösung suchen.
Grüße Uwe