在Word文档中保存自定义设置或属性

本文关键字:设置 属性 自定义 保存 Word 文档 | 更新日期: 2023-09-27 18:16:10

我有一个MS Word项目,我正在构建一些窗格供用户完成一些信息,自动填充文本在书签整个文档。我只是想找到保存这些值的最佳方法,以便在用户输入值后重新打开文档时可以轻松检索它们。

我可以尝试从书签本身检索它们,但当然在许多情况下,当我理想地想要在用户不可见的地方存储主键时,它们包含文本值,以防他们更改文本,这将使逆向工程的值不可能。

我似乎找不到任何关于在Word文档中保存自定义属性的信息,所以我真的很感激如何实现这一目标的一般指导。

非常感谢!

在Word文档中保存自定义设置或属性

我建议使用自定义文档属性。在那里,您可以以键值方式输入字符串(至少如果它类似于excel)。我发现了一个线程,解释了如何做到这一点:使用Word互操作设置自定义文档属性

在玩了这个相当多之后,这是我的最终代码,以防它对其他人有所帮助,我发现这种格式更容易理解和使用。这些都是基于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语句中的代码来检查它是否存在,并使用properties["nameofproperty"].Value

检索它