myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Office-Technologien » Wie kann ich Benutzerdefinierte Felder aus Outlook-Kontakten auslesen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich Benutzerdefinierte Felder aus Outlook-Kontakten auslesen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
kohleit
myCSharp.de-Mitglied

Dabei seit: 21.07.2020
Beiträge: 3


kohleit ist offline

Wie kann ich Benutzerdefinierte Felder aus Outlook-Kontakten auslesen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo community.

Wie man Kontakte aus Outlook ausliest wurde hier schon mehrmals im Forum gezeigt.
In Outlook unter Kontakte hat man die Möglichkeit die Felder zu erweitern.

Ich habe unter Kontakte 3 weitere Felder hinzugefügt und möchte diese beim auslesen der Kontakte mit auslesen.

Leider versuche ich vergebens diese 3 "user defined" Felder auszulesen. Ich finde die angelegten Felder nicht!

C#-Code:
var outlookApplication = new Microsoft.Office.Interop.Outlook.Application();
            NameSpace mapiNamespace = outlookApplication.GetNamespace("MAPI");
            MAPIFolder contacts = mapiNamespace.GetDefaultFolder(OlDefaultFolders.olFolderContacts);

            for (int i = 1; i < contacts.Items.Count + 1; i++)
            {
                var contact = (ContactItem)contacts.Items[i];
                //var contact = (ContactItem)contacts.CustomViewsOnly[i];
                Console.WriteLine(contact.FullName);
                Console.WriteLine(contact.Body);
                Console.WriteLine(contact.User1);
                Console.WriteLine("*");

Kann mir hier jemand einen Hinweis in die richtige Richtung geben.

Vielen Dank!
lg

kohleit hat dieses Bild (verkleinerte Version) angehängt:
w3rzypws.jpg
Volle Bildgröße

21.07.2020 10:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.848
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Was steht denn in UserProperties? Evtl. einfach mal im Debugger alle Eigenschaften der Variable contact anschauen.
21.07.2020 11:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
kohleit
myCSharp.de-Mitglied

Dabei seit: 21.07.2020
Beiträge: 3

Themenstarter Thema begonnen von kohleit

kohleit ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Danke für den Tipp.

Leider muss ich hier sagen ich bin ein "googler" und kein Programmierer bin. Daher tue ich mir mit der Anweisung ein wenig schwer.

Was ich raus gefunden habe ist, dass man in ein User defined Field (UDF) folgendermaßen schreibend zugreifen kann:

C#-Code:
                contact.UserProperties["BERI"].Value = "9";
//Da steckt ein __ComObject drin mit dem ich nichts Anfangen kann. (noch nicht)
                contact.Save();

Wie kann ich nun sagen gib mir den Inhalt von dem Feld "BERI".

Quasi so etwas:

C#-Code:
Console.WriteLine(contact.UserProperties["BERI"]);

Sorry für meine Unwissenheit!
PS. Der oben angegeben Code funktioniert natürlich nicht

lg

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von kohleit am 21.07.2020 19:48.

21.07.2020 19:38 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.848
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Auch beim Lesen auf Value zugreifen:

C#-Code:
Console.WriteLine(contact.UserProperties["BERI"].Value);

PS: Bzgl. Debuggen s.a.  [Artikel] Debugger: Wie verwende ich den von Visual Studio?

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Th69 am 21.07.2020 22:21.

21.07.2020 21:32 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
kohleit
myCSharp.de-Mitglied

Dabei seit: 21.07.2020
Beiträge: 3

Themenstarter Thema begonnen von kohleit

kohleit ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Habe es selbst raus gefunden.

C#-Code:
             UserProperty prop = contact.UserProperties.Find("Beri");

                if(prop != null)
                    Console.WriteLine(prop.Value);

Bin ein wenig eintäuscht, habe mir mehr Input vom Forum erhofft.

Eventuell braucht das jemand.
03.08.2020 20:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
T-Virus T-Virus ist männlich
myCSharp.de-Mitglied

Dabei seit: 17.04.2008
Beiträge: 1.688
Entwicklungsumgebung: Visual Studio, Codeblocks, Edi
Herkunft: Nordhausen, Nörten-Hardenberg


T-Virus ist offline Füge T-Virus Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@kohleit
Im Endeffekt machst du das gleich, was dir Th69 vorgeschlagen hat.
Nur anstelle des Find, kannst du auch direkt über ["Beri"] auf die UserProperty zugreifen, da du ja die entsprechende Property kennst und diese nicht suchen müsstest.

Das Forum bzw. Th69 hat dir schon die konkrete Antwort geliefert, warum sollten dann noch 10 oder mehr Leute dir weitere Antworten schreiben?
Vielleicht solltest du auch die Doku anschauen und wie von Th69 vorgeschlagen auch den Debugger verwenden.
Damit kann man solche Sache auch durch einfaches prüfen der jeweiligen Instanzen und deren Eigenschaften lösen.

T-Virus

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am 03.08.2020 20:44.

03.08.2020 20:43 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.848
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist online

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Tja, der Weg eines "googler"s ist manchmal halt steinig...
04.08.2020 10:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 5 Monate.
Der letzte Beitrag ist älter als 5 Monate.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 15.01.2021 14:45