如何在字段代码中测试Word自定义文档属性(CDP)的存在?

时间:2011-09-20 14:13:49

标签: ms-word customproperty

Word中的以下字段代码显示自定义文档属性“myproperty”的内容(如果存在);否则它什么都不做

{IF {DOCPROPERTY "myproperty"} <> "Error! Unknown document property name." {DOCPROPERTY "myproperty"}}

存在的测试基于Word在属性不存在时返回的错误消息。麻烦的是:这个错误信息可以被本地化(例如用法语等)。

您是否知道如何以独立于语言环境的方式测试自定义文档属性的存在?这相当于:

{IF {EXIST-DOCPROPERTY "myproperty"}{DOCPROPERTY "myproperty"}}

1 个答案:

答案 0 :(得分:0)

恕我直言,你偶然发现Word中与语言内容相关的几个问题,而且没有正确的解决方案。

另一个例子是{STYLEREF}字段,它需要引用你想要引用的样式。虽然您在VAB / VSTO中可以通过常量来引用内置样式,例如wdStyleHeading1,与语言无关,使用该字段必须在英语单词中将样式名称添加为“标题1”。用德语单词打开文档,你会得到一个“未定义的样式名称”错误,反之亦然,用英语单词打开德语“STYLEREF”Überschrift1“}。

您还没有说过要解决问题的整个情况。在我的文档模板集中,我通常控制文档,例如有一个全局加载项运行,我可以通过它来控制文档。此外,我发布的模板确实已经定义了自定义文档属性,因此不会发生类型错误。但是,即使它们未定义,您也可以在打开文档时创建它们。