Ich würde gerne wissen, ob es möglich ist, zusätzliche Attribute zu einfachen Bereichstext oder Absatztext aus meinem Word-Add-in hinzuzufügen. Der Einfachheit halber sehe ich den Code unten, wo ich das Dokument mit Text füllen kann, aber zusätzlich möchte ich zusätzliche Informationen hinter den Kulissen zusammen mit diesem Text speichern. Letztendlich möchte ich, dass diese benutzerdefinierten Attribute mit dem Open Xml SDK gelesen werden, wenn diese Dokumente eine Verarbeitungsstufe durchlaufen.Office Addin Benutzerdefinierte Attribute im Bereich Text
private void AddAttributedContent(string documentContent)
{
var doc = Globals.Factory.GetVstoObject(Globals.ThisAddIn.Application.ActiveDocument);
var range = doc.Range();
range.Font.Size = 12;
range.Font.Name = "Calibri";
range.Underline = Word.WdUnderline.wdUnderlineSingle;
range.Text = documentContent;
// range.AddOpenXmlProperty("MyProp", "MyValue");
var para = doc.Paragraphs.Add();
para.Range.Text = documentContent;
//para.AddCustomProperty("MyProp", "MyVal");
}
Edit:
Ideal unser Eigentum innerhalb der resultierenden RunProprties sitzen würde:
Word-Lesezeichen sind auch eine gute Option (unter Verwendung des Lesezeichennamens ähnlich dem Content Control-Tag) –
Chris, schätzen die schnelle Antwort. Wir haben uns ContentControls angeschaut und bieten bisher kein visuelles Aussehen und ihr Eigenschaftenfenster enthält nicht genug Formatierungsoptionen. Zum Beispiel möchte ich etwas als Dezimalzahl mit einer Genauigkeit von 2 formatiert haben. Ich dachte der ganze Zweck von "Open XML" war, dass wir die Lösung auf unsere Bedürfnisse erweitern könnten? Siehe Screenshot des resultierenden Xml - Idealerweise würden wir einfach unsere Sachen den "RunProperties" hinzufügen. Wenn dies nicht möglich ist, ist es möglich, die Ästhetik von ContentControl zu ändern und den Eigenschaftendialog zu überschreiben? – Mike
Hey Dirk, danke. Wir möchten mehr Attribute speichern, die sich auf einen Teil des Inline-Inhalts beziehen. Siehe Screenshot, den ich angehängt habe. Diese "RunProperties" ist perfekt. Wie kann ich dazu schreiben? – Mike