VBA插入Word内容控件报错:未声明命名空间前缀ns1问题求助
问题解决与XPath获取方法
运行时错误'6324'的修复
你的Title内容控件触发错误是因为XPath里用了未声明的ns0前缀,Word内置文档属性的title和category同属一个命名空间,把Title控件的XPath改成和Category一致的前缀即可:
修改这段代码:
With titleCC .Title = "doc. Name" .xmlMapping.SetMapping "/ns1:coreProperties[1]/ns1:title[1]" ' 替换原ns0为ns1 End With
如果还是有问题,可以直接使用命名空间URI指定映射,彻底避免前缀冲突:
With titleCC .Title = "doc. Name" .xmlMapping.SetMapping "/cp:coreProperties[1]/cp:title[1]", _ "xmlns:cp=""http://schemas.openxmlformats.org/package/2006/metadata/core-properties""" End With
其他获取内置属性XPath的方法
除了拆包提取XML的方式,还有两种更便捷的方法:
使用Word开发者工具的XML映射窗格
- 打开Word的「开发者」选项卡(未显示的话,在Office选项中勾选启用)
- 点击「XML映射窗格」,在窗格顶部下拉菜单选择「添加架构」
- 找到并添加
Core Properties架构(路径一般为C:\Program Files\Microsoft Office\root\Office16\SCHEMAS\OFFICE\1.0\COREPROPERTIES\cpXML.xsd,版本号依Office版本调整) - 展开架构树找到目标属性(如
title),右键选择「复制XPath」
通过VBA代码直接获取映射信息
遍历文档内容类型属性,直接输出对应字段的XPath:
Sub GetBuiltInPropXPath() Dim prop As ContentTypeProperty For Each prop In ActiveDocument.ContentTypeProperties If prop.Name = "Title" Then Debug.Print prop.XPath ' 在VBA编辑器立即窗口查看结果 End If Next prop End Sub
内容的提问来源于stack exchange,提问作者MDK
相关产品推荐
相关产品推荐

