MS Word使用INCLUDETEXT域引用外部docm文件报文件名无效错误
INCLUDETEXT域相对路径报错解决方案
错误原因
你的路径拼接逻辑存在问题:{FILENAME \P}返回的是当前文件的完整路径(包含当前文件名本身),直接在后面拼接上级目录标识..会将当前文件名误判为目录层级,最终生成的路径无效。
举例说明:如果当前文件路径为D:\工程文档\主目录\总目录.docm,{FILENAME \P}就会返回这个完整字符串,你拼接\..\Div 22 Plumbing\SECTION 22 07 80.DOCM后得到的路径是D:\工程文档\主目录\总目录.docm\..\Div 22 Plumbing\SECTION 22 07 80.DOCM,系统无法识别把文件作为目录的路径,因此触发「不是有效文件名」报错。
正确域代码写法
你需要先提取当前文件所在的目录路径,再拼接相对路径,Word 2010及以上版本可直接用\* PATHONLY开关提取目录,正确写法如下:
{INCLUDETEXT "{FILENAME \P \* PATHONLY}..\\Div 22 Plumbing\\SECTION 22 07 80.DOCM" Pages}
如果你使用的是更旧的Word版本,不支持\* PATHONLY开关,可改用如下写法:
{INCLUDETEXT "{FILENAME \P}\\..\\..\\Div 22 Plumbing\\SECTION 22 07 80.DOCM" Pages}
操作注意事项
- 所有嵌套的域大括号必须通过
Ctrl+F9快捷键插入,手动输入的大括号无法被Word识别为域标识 - 路径中的反斜杠需要用双反斜杠转义,避免被域解析逻辑识别为转义字符
- 域代码编写完成后,选中全部域代码按下
F9刷新,根据弹窗提示选择更新整个域即可生效
内容的提问来源于stack exchange,提问作者RaudelH
相关产品推荐
相关产品推荐

