当我在 INCLUDEPICTURE 字段中使用相对路径时,有时它会自动更改为绝对路径。
Before:
{INCLUDEPICTURE ".\\img\\TEST_01.png" \d \* MERGEFORMAT}
After:
{INCLUDEPICTURE "c:\\test\\img\\TEST_01.png" \d \* MERGEFORMAT}
请告诉我原因以及如何避免这种情况。我想链接到子文件夹中的图像文件。
尽管您尝试通过省略其中一些路径来使路径相对,但它仍然是绝对的。为了使路径以真正相对的方式运行,您需要使用 FILENAME 字段,因此:
{INCLUDEPICTURE "{FILENAME \p}/../Image.png"}
或
{INCLUDEPICTURE "{FILENAME \p}\\..\\Image.png"}
其工作原理:FILENAME p 字段提取当前文件的名称和路径。下面的“\..\”或“/../”告诉 Word 忽略文件名并仅获取路径。然后您需要做的就是添加源文件的名称和扩展名。
可以扩展相同的方法来实现某种形式的相对寻址。例如:
{INCLUDEPICTURE "{FILENAME \p}\\..\\My Pictures\\Image.png"}
查看名为“我的图片”的子文件夹并:
{INCLUDEPICTURE "{FILENAME \p}\\..\\..\\Image.png"}
查看父文件夹,同时:
{INCLUDEPICTURE "{FILENAME \p}\\..\\..\\My Pictures\\Image.png"}
查看父文件夹,然后查看其名为“我的图片”的子文件夹(可以说是同级文件夹)。
注意: 您可以通过添加所需的任意多组“\..\”来向下浏览文件树,但您必须给出明确的文件夹名称才能导航备份。
如果
MERGEFORMAT
未出现在字段代码中或被 MERGEFORMATINET
替换,则保留相对路径。即使您保存、关闭并重新打开文件,后一个开关也不会更改。所以在你的情况下使用
{ INCLUDEPICTURE ".\\img\\TEST_01.png" \d \* MERGEFORMATINET }
或
{ INCLUDEPICTURE ".\\img\\TEST_01.png" \d }