我有一个 MS Word 项目,我正在为用户构建一些窗格来完成一些信息,这些信息会自动填充书签< / strong>整个文件。我只是试图找到保存这些值的最佳方法,以便在用户键入其值后重新打开文档时可以轻松地检索它们。
我可以尝试从书签本身检索它们,但当然在很多情况下它们包含文本值,当我理想地想要将某个主键存储在某个用户看不到的地方时,以防他们对文本将使逆向工程的价值变得不可能。
我似乎无法找到有关在Word文档中保存自定义属性的任何信息,因此我们非常感谢有关如何实现这一目标的一般指导。
非常感谢!
答案 0 :(得分:1)
我建议使用自定义文档属性。你可以用键值方式串起来(至少如果它类似于excel)。 我发现了一个解释如何操作的线程: Set custom document properties with Word interop
答案 1 :(得分:0)
在玩了这一点后,这是我的最终代码,以防它帮助其他人,我发现这种格式更容易理解和使用。这一切都基于Christian的引用文章:
using Office = Microsoft.Office.Core;
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;
Office.DocumentProperties properties = (Office.DocumentProperties)Globals.ThisDocument.CustomDocumentProperties;
//Check if the property exists already
if (properties.Cast<Office.DocumentProperty>().Where(c => c.Name == "nameofproperty").Count() == 0)
{
//Then add the property and value
properties.Add("nameofproperty", false, Office.MsoDocProperties.msoPropertyTypeString, "yourvalue");
}
else
{
//else just update the value
properties["nameofproperty"].Value = "yourvalue";
}
在检索值方面,就像在顶部使用相同的三行来获取属性对象一样简单,也许使用if语句中的代码来检查它是否存在,并使用{{1}检索它}