Я пытаюсь выяснить, является ли документ простым документом (.doc, .docx, .docm) или шаблоном (.dot, .dotx, .dotm).Как определить, является ли документ шаблоном?
Я знаю, что есть несколько способов понять это (например, расширение файла проверки), но я ищу наиболее «безопасный».
Моей текущая догадка:
Private Function isTemplate(ByVal Doc As Document) As Boolean
isTemplate = (Doc.FullName = Doc.AttachedTemplate.FullName)
End Function
Это работает, как ожидался, но я хотел бы знать, если есть более старомодный способ для достижения этой цели. Может быть, отсутствует свойство isTemplate? Не знаю.
Почему: Я создал код на шаблоне, чтобы пользователь не мог сохранить файл, если он не защищен паролем. Код работает как шарм, но он меня утомляет, когда я редактирую что-то в шаблоне, потому что у него нет пароля.
в Excel вы можете использовать 'if ActiveWorkbook.FileFormat = xlTemplate'. Я бы подумал, что вы можете точно определить форматы wdTemplate в Word, но, к сожалению, я не могу найти его в объектной модели. – kmote
Это умный подход. Проблема с использованием расширения заключается в том, что новые файлы не имеют расширений до момента их сохранения в первый раз. – ForEachLoop