Ich experimentiere mit dem Lesen von SharePoint 2013 Site Column Metadaten aus einem Word 2010 C# VSTO auf Anwendungsebene.SharePoint Benutzerfeld lesen/schreiben [Word 2010 VSTO]
Zum Testen habe ich Site Columns für jeden von SharePoint verwendeten Typ eingerichtet und dann einen Dokument-Inhaltstyp erstellt, der mit allen verknüpft ist. Daher werden alle diese Spalten in das Word-Dokument eingebettet customXml in der Dokumentdatei).
Durch Lesen der _Document.ContentTypeProperties
Eigenschaft innerhalb der VSTO-Code, kann ich auf die meisten Typen zugreifen, aber ich habe Schwierigkeiten beim Zugriff auf eine 'Person oder Gruppe' Site-Spalte Daten - Ich bekomme COM-Ausnahmen versuchen zu lesen oder zu schreiben zur .Value
Eigenschaft eines Artikels.
im XSD-Schema in CustomXML Durch suchen, kann ich einen Single-Wert Spalte User sehen aus drei Werten zusammen: DisplayName
(Typ string
), AccountType
(Typ string
) und AccountId
(Typ UserId
) - aber ich sehen Sie keine Möglichkeit, innerhalb des VSTO von/zu lesen/schreiben? Mehrwertige Benutzerspalten scheinen völlig verschieden zu sein und setzen sich aus zwei Werten zusammen: einer ID (scheint die SharePoint-Benutzer-ID zu sein) und einer string-basierten ID (oder zumindest ist das, was ich denke, die i:0#.w|domain\userid
ist sowieso).
Word selbst kann sowohl ein- als auch mehrwertige Benutzerspaltedaten über das Dokumentfenster bearbeiten, jedoch nur, wenn Word derzeit mit SharePoint verbunden ist - andernfalls ist die Funktionalität deaktiviert. Ich würde nehmen das gleiche würde für die VSTO wahr sein, wenn ich alle Werte zugreifen konnte ...
Meine beiden Fragen sind:
Gibt es eine Möglichkeit zum Lesen/Schreiben Ein- und mehrwertige Benutzerfelder aus dem VSTO-Code (auch wenn es nicht über die
_Document.ContentTypeProperties
-Eigenschaft geht)?Gibt es eine Möglichkeit, Q1 auszuführen, wenn keine Verbindung zu SharePoint besteht (wenn die Werte beispielsweise dem Code bekannt sind)?
(Ich habe meine Arbeitsweise ist in dem Fall etwas allzu weitschweifig gewesen jemand anderen sogar so weit sinnvoll, wenn ich keine Antwort bekommen, es nicht eine große Menge an Informationen über diese überall zu sein scheint)
Ich dachte, ich müsste die customXml-Daten direkt modifizieren - ich hatte gehofft, dass ich nicht nur für einen Typ brauchen würde. Ich schaue mir das an - danke! – Reznikk
Ja, AFAICS gibt es keine Schnittstelle, die die interne Struktur des ContentTypeProperty-Objekts für diesen Eigenschaftstyp verfügbar macht. –
Vielen Dank für Ihre Mühe - und während dies sicherlich die einzige verfügbare Option ist, würde ich es gerne kurz "richtig" markieren, für den Fall, dass eine andere mögliche Lösung erscheint (Sie wissen nie mit VSTO Zeug ...). – Reznikk