我试图弄清楚一个文档是一个简单的文档(.doc,.docx,.docm)还是一个模板(.dot,.dotx,.dotm)。
我知道有几种方法可以解决这个问题(比如检查文件扩展名),但我正在寻找最“安全”的一种。
我目前的猜测是:
Private Function isTemplate(ByVal Doc As Document) As Boolean
isTemplate = (Doc.FullName = Doc.AttachedTemplate.FullName)
End Function这工作如预期,但我想知道是否有更时尚的方式来实现这一目标。也许是一些遗失的isTemplate财产?不知道。
原因:我在一个模板上创建了一个代码,如果文件没有密码保护,则不允许用户保存该文件。这段代码工作起来很棒,但当我在模板中编辑某些东西时,它会让我感到厌烦,因为它没有密码。
发布于 2014-04-17 08:27:39
多亏了kmote,我找到了解决方案。
如果文档是模板(here是该属性的可能值列表),则只需检查SaveFormat属性。
Private Function isTemplate(ByVal Doc As Document) As Boolean
Select Case Doc.SaveFormat
Case wdFormatTemplate, wdFormatDocument97, _
wdFormatXMLTemplate, wdFormatXMLTemplateMacroEnabled, _
wdFormatFlatXMLTemplate, wdFormatFlatXMLTemplateMacroEnabled
isTemplate = True
Case Else
isTemplate = False
End Select
End Functionhttps://stackoverflow.com/questions/17643251
复制相似问题