1

我将我正在使用的文件的模板保存在一个保管箱中,当我更改为具有不同保管箱路径的计算机时,需要将模板重新附加到文档中。我想用宏来做到这一点。

我仍然可以在“模板和加载项”窗口中看到原始附加模板的名称,因此信息必须存储在文档中的某个位置。

但是,如果我尝试通过 VBA 检索先前附加的模板的名称,请编写

strTemplate = ActiveDocument.AttachedTemplate

结果将是“Normal.dotm”而不是“MyTemplate.dotm”,这实际上很有意义,但不是我想要的。

有什么方法可以检索先前附加的模板的名称和路径?

4

2 回答 2

1

我认为您可以从中获取完整名称(路径+名称)

Application.Dialogs(wdDialogToolsTemplates).Template

和名字单独来自

ActiveDocument.BuiltinProperties(wdPropertyTemplate)

我第一次尝试其中的第一个时,它似乎不起作用,但我可能检查了错误的文档。您不会在 Dialog 对象下找到记录的 Template 属性 - 它记录在此处

如果这些不起作用,我能看到的唯一其他方法就是

一个。在关闭时查看 .docx(对于 .docx),或者(我尚未检查)使用 dsofile.dll 作为 .doc,或者

湾。插入字段 { template \p },执行它并检索其结果文本

于 2013-09-05T10:33:11.703 回答
1

我在这里找到了堆栈溢出的答案(不幸的是,只有在发布我的问题之后)作为“如何在不解析附加模板的情况下打开 word 文档?”的答案:

strOldTemplate = Dialogs(wdDialogDocumentStatistics).Template
于 2013-09-05T21:51:18.273 回答