Hallo Forum,
ich habe folgendes Problem und finde im Netz irgendwie nicht die richtige Lösung.
Ich habe einen Ordner mit einem benutzerdefiniertem Feld.
Dieses Feld ist in den Items des Ordners nicht vorhanden.
Es wird aber in Outlook in der Feldauswahl als benutzerdefiniertes Ordnerfeld angezeigt.
Der Inhalt erscheint in Outlook dann auch bei den Items (Tabellenansicht) mit Inhalt.
Also habe ich das Feld als Itemfeld neu erstellt.
Wie kopiere ich in c# den Inhalt des Ordnerfeldes in das Itemfeld?
Folgendes habe ich bisher:
//Parent-Ordner bestimmen
Outlook.MAPIFolder mf = this.item.Parent;
string path = mf.FolderPath;
if (mf.UserDefinedProperties.Find("Bezeichnung") != null)
{
if (this.item.UserProperties.Find("Bezeichnung") == null)
{
//"Bezeichnung" als Itemfeld hinzufügen, als Ordnerfeld ist es vorhanden
this.item.UserProperties.Add("Bezeichnung", Outlook.OlUserPropertyType.olText, false);
//Inhalt des Ordnerfeldes ins Itemfeld kopieren
//FUNKTIONIERT NICHT
this.item.UserProperties["Bezeichnung"].Value = mf.UserDefinedProperties["Bezeichnung"].Value;
}
}
Das zugrundeliegende Problem ist hier beschrieben:
http://www.outlook-stuff.com/editcontacts/854-benutzerdefinierte-felder-fehlen.html
Die Items wurden aus einem anderen Ordner kopiert.
Für einen Hinweis oder einen Link wäre ich dankbar.
Moin habalulu,
was bedeutet funktioniert nicht? Kommt eine Fehlermeldung? Funktioniert das auslesen nicht oder funktioniert das schreiben des neuen Werts nicht?
Gruß
muhtanten
Hallo muhtanten.
Funktioniert nicht bedeutet, daß das Feld einfach Leer ist.
Das Feld ist also auf Ordnerebene vorhanden, aber nicht im Item.
Ich lege es dann auf Itemebene an, dann ist es aber leer,
obwohl es in Outlook einen Wert enthält, der auch von Outlook
angezeigt wird.
Ich komme also an den Wert nicht heran.
mf.UserDefinedProperties["Bezeichnung"].Value funktioniert nicht,
weil die UserDefinedProperties keinen .Value-Wert kennen.
Wie komme ich an den Inhalt der Felder auf Ordnerebene?
Danke schon einmal für Deine Hilfe
Der Ordner enthält lediglich die Definition der Eigenschaft. Die eigentlichen Inhalte findest du dann in den Userproperties der Items dieses Ordners.
Die Items deines Folders 'mf' haben ein Userproperty 'Bezeichnung' mit dem entsprechenden Werten siehe auch UserDefinedProperty
Gruß
muhtanten