如何获取word 2003文档的模板路径

时间:2011-07-01 18:50:35

标签: vba ms-word

当我基于模板(* .dot)创建新文档时,我需要知道文档基于哪个模板。

有没有办法找出VBA使用哪个模板来创建这个新文档?我需要模板的完整路径。

2 个答案:

答案 0 :(得分:7)

ActiveDocument.AttachedTemplate.FullName

答案 1 :(得分:4)

您还可以使用内置文档属性来访问模板名称:ActiveDocument.BuiltInDocumentProperties(wdPropertyTemplate)

我不记得为什么有时两个结果之间存在差异;你必须尝试一下。请注意,有时访问内置属性会将文档设置为脏状态,因此在访问属性之前保存ActiveDocument.Saved状态并重置它是很有用的。

<强> [UPDATE] 我再次看一下你创建文档的方式。如果它是你的客户有38.000模板,我想你的问题是“假的”模板。我刚刚使用Office 2003进行了测试:

  1. 创建一个包含相同内容的新文档“TestTemplate.doc”并将其另存为doc文件。关闭它。
  2. 转到Windows资源管理器并将文档重命名为“TestTemplate.dot”。这会激发Windows资源管理器将其视为模板,而不是文档。模板的默认DDE命令不是“OPEN”,而是“NEW”,如果右键单击文件,您也可以看到(“New”是粗体,而文档“Open”是粗体)。< / LI>
  3. 双击假模板:Word会创建文档的副本,因此会创建一个名为“Document2”的新文件。
  4. 转到VBA编辑器,然后键入?ActiveDocument.AttachedTemplate,您将看到“正常”作为答案。输入?activedocument.Type = wdTypeTemplate,你会看到“False”作为答案。
  5. Sp我猜文件“没有模板”只是其他文件的副本,而不是模板的副本。所以你无法找到基本模板。