Как получить путь к шаблону документа Word 2003 - PullRequest
5 голосов
/ 01 июля 2011

Когда я создаю новый документ на основе шаблона (* .dot), мне нужно знать, на каком шаблоне основан документ.

Есть ли способ узнать с помощью VBA, какой шаблон былиспользуется для создания этого нового документа?Мне нужен полный путь к шаблону.

Ответы [ 2 ]

7 голосов
/ 02 июля 2011
ActiveDocument.AttachedTemplate.FullName
4 голосов
/ 02 июля 2011

Вы также можете использовать встроенное свойство документа для доступа к имени шаблона: ActiveDocument.BuiltInDocumentProperties(wdPropertyTemplate)

Я не помню, почему иногда были различия между этими двумя результатами; Вы должны попробовать это. имейте в виду, что доступ к встроенным свойствам иногда устанавливает документ в грязное состояние, поэтому полезно сохранять состояние ActiveDocument.Saved до и сбрасывать его после обращения к свойству.

[UPDATE] Я снова посмотрел, как вы создаете документы. Если у вашего клиента 38.000 шаблонов, я думаю, что ваша проблема - «поддельные» шаблоны. Я только что сделал тест с Office 2003:

  1. Создайте новый документ «TestTemplate.doc» с тем же содержимым и сохраните его как файл doc. Закройте его.
  2. Перейдите в проводник Windows и переименуйте документ в «TestTemplate.dot». Это провоцирует Windows Explorer рассматривать его как шаблон, а не как документ. Команда DDE по умолчанию для шаблонов - не «ОТКРЫТА», а «НОВАЯ», что также можно увидеть, если щелкнуть файл правой кнопкой мыши («Новый» выделен жирным шрифтом, а с документами «Открыть» - жирным).
  3. Дважды щелкните поддельный шаблон: Word создает копию документа, поэтому создается новый файл с именем «Document2» или что-то в этом роде.
  4. Перейдите в редактор VBA и введите? ActiveDocument.AttachedTemplate, и вы увидите «Нормальный» в качестве ответа. Введите? Activedocument.Type = wdTypeTemplate, и вы увидите «Ложь» в качестве ответа.

Sp Я думаю, документы "Без шаблона" являются только копиями других документов, а не шаблонов. Таким образом, у вас нет возможности найти базовый шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...