0

Wordアドインの単純な範囲テキストまたは段落テキストに属性を追加することが可能かどうかを知りたいと思います。簡単にするために、テキストでドキュメントを埋め込むことができる以下のコードを見てください。さらに、追加情報を保存したいのですが、そのテキストと共にシーン情報の背後に保存します。最終的には、これらのドキュメントが処理段階を経るときに、Open Xml SDKを使用してこれらのカスタム属性を読みたいと思っています。範囲内のOffice Addinカスタム属性

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"); 

     } 

編集:

理想的には私たちの財産は、結果RunProprtiesの内側に座る: enter image description here

答えて

1

いいえ、あなたはそれを行うことはできません。あなたはおそらくコンテンツコントロールやテキストボックスでそれを行うことができます。

ContentControlについて、あなたはおそらく、またはTitle(これはソースのようなものである場合については、それはあなたが必要とする目的のためのものだ暗示しているようだが、それはおそらく、一意である必要があります)Tagを使用することができます。テキストボックス(Shape)については

The Tag property is different from the Title property in that a tag is never displayed while a user edits a document. Instead, developers can use it to store a value for programmatic manipulation while the document is opened. 

、あなたはAlternativeTextTitleを使用することができます。

Title(どちらの場合も)またはAlternativeTextを変更すると、ドキュメントをHTMLとして保存した場合のドキュメントの表示方法に影響があることに注意してください。

+1

Wordのブックマークも良いオプションです(コンテンツコントロールタグに似たブックマーク名を使用) –

+0

Chris、迅速な対応に感謝します。我々はContentControlsを見てきましたが、視覚的な外観を提供していないし、プロパティウィンドウには十分な書式設定オプションが含まれていません。たとえば、2の精度で10進数で書かれたものが必要だと言っています。「Open XML」の全目的は、私たちのニーズに合わせてソリューションを拡張できたと思いました。結果のXmlのスクリーンショットを見る - 理想的には、私たちは "RunProperties"に私たちのものを追加します。これが不可能な場合は、ContentControlの美しさを変更してプロパティダイアログをオーバーライドすることは可能ですか? – Mike

+0

こんにちはダーク、ありがとう。インラインコンテンツに関連する属性をさらに格納したいと考えています。私が添付したスクリーンショットを参照してください。この "RunProprerties"は完璧です。どのように私はそれに書き込むことができますか? – Mike