【问题标题】:Get path of template inside Word document created from template获取从模板创建的Word文档中模板的路径
【发布时间】:2023-04-02 18:31:01
【问题描述】:

我有一个带有宏 (*.dotm) 的 word 模板。我需要知道模板在从模板创建的 Word 文档中的存储路径。

使用Application.ActiveDocument.FullName,只有当我直接在编辑模式下打开模板时,我才能获得模板的(完整)路径。当从文档ActiveDocument 创建一个文档时,它指向新创建的文档,所以它没有给我想要的路径。

Private Sub Document_New() 似乎在文档被实例化后被触发,因此获取模板路径值为时已晚,而且似乎没有我可以使用更早触发的事件。

也试过ActiveDocument.AttachedTemplate,但它只返回一个带有文件名的字符串,而不是完整路径。

如何获取实例化文档中模板的完整路径?

请注意,模板存储在网络服务器上 (SharePoint),因此ActiveDocument.AttachedTemplate.Path 当前返回临时 Internet 文件中的路径

【问题讨论】:

    标签: vba templates path ms-word


    【解决方案1】:

    试试这个

     Sub FindingTemplateFullPath()
    
          Dim TemplatePath As String
          Dim TemplateName As String
          Dim TemplateFullPath As String
    
          TemplatePath = ActiveDocument.AttachedTemplate.Path
          TemplateName = ActiveDocument.AttachedTemplate.Name
    
          TemplateFullPath = TemplatePath & Application.PathSeparator & TemplateName
    
     End Sub
    

    【讨论】:

    • 问题是,“ActiveDocument.AttachedTemplate.Path”指向临时 Internet 文件,因为 Word 模板存储在服务器上并使用浏览器打开。我需要的是来源,而不是下载模板的存储位置。
    • @Shihan 你没有在你的问题中提到这一点。尝试将 Excel-web-query 之类的内容作为标签添加到您的问题中。据我所知,模板只有在您的 PC 上才会激活。抱歉不能提供更多帮助。
    • 你是对的,这个问题已经过编辑,以便更清楚地说明这一点(或根本没有说明)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2012-05-17
    • 1970-01-01
    • 2013-11-28
    相关资源
    最近更新 更多