繁体   English   中英

如何防止用户更改/删除自定义属性(MS Office)

[英]How to prevent changing/deleting custom properties by user (MS Office)

我正在为MS Word创建一个加载项,其中一个功能是创建和设置文档属性。 不幸的是,用户可以转到MS Word中的文档属性并更改值甚至删除属性。

我正在考虑使用值存储属性并在每个文档保存之前设置它。 但是可以在加载项的代码中捕获BeforeSave事件吗?

我考虑的另一种方式是某种只读道具/值,但对用户是只读的,对加载项是可编辑的。 但同样,这可能是不可能的......

如果它帮助我将代码放在下面我用来添加和设置PropName和PropValue。

有谁知道如何解决它? 谢谢。

        Microsoft.Office.Core.DocumentProperties properties;
        properties = (Microsoft.Office.Core.DocumentProperties)
            Globals.ThisAddIn.Application.ActiveDocument.CustomDocumentProperties;

        properties.Add("PropName", false,
            Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString,
            "PropValue");

事实证明,有可能在加载项中捕获Save事件。 它可以通过在ThisAddIn_Startup中放置:Globals.ThisAddIn.Application.DocumentBeforeSave处理程序来解决。

因此,我将尝试通过保存属性的名称和值来解决我的问题,并且在保存文档之前总是检查属性是否存在并设置它或创建它并设置存储的值(或删除并创建没有检查 - 没关系)。

亲切的问候,Konfiuzd

您还可以将内容存储在自定义XML中 ,任何人都可以编辑的方法是在Word之外编辑docx文件。 但它不能用于领域。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM