我想知道是否可以向我的Word加载项中的简单范围文本或段落文本添加其他属性。为简单起见,请参阅下面的代码,我可以使用文本填充文档,但另外我想存储其他但幕后信息以及该文本。最终,当这些文档经过处理阶段时,我希望这些使用Open Xml SDK读取这些自定义属性。
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");
}
编辑:
答案 0 :(得分:1)
不,你不能这样做。你可以使用内容控件或文本框来完成它。
对于ContentControl,您可以使用Tag(如果这类似于来源,它可能必须是唯一的,尽管描述似乎意味着它意味着您需要的目的)或{ {3}}
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.
对于文本框(Title),您可以使用Shape或AlternativeText。
请注意,如果将文档另存为HTML,则更改标题(在两种情况下)或AlternativeText都可能会影响文档的显示方式。