【问题标题】:Install add-in with Document Open function in dotm template在 dotm 模板中安装具有文档打开功能的加载项
【发布时间】:2020-07-01 15:08:25
【问题描述】:

我想为一组用户部署带有自定义功能区的插件。 为了能够为我的所有用户自动更新该工具,我创建了一个 Tool-Loader.dotm 加载项。此加载项将存储在用户 C:\Users\xxx\AppData\Roaming\Microsoft\Word\STARTUP\ 文件夹中。 当用户启动 Word 时,它应该启用放置在网络共享上的真实插件。 这样我的用户就不必担心更新,因为我只需要替换我网络共享上的读取加载项。当用户重新启动 Word 时,应该重新加载加载项并且人员是最新的。

我在 STARTUP 文件夹中的 Tool-Loader.dotm 中添加了以下代码: 本文档:

Option Explicit

Private Sub Document_New()

Dim addinpath As String
addinpath = "\\[NETWORK SHARE]\Tool.dotm"

If Dir(addinpath) <> "" Then
    AddIns.Add FileName:=addinpath, Install:=True
Else
    MsgBox "Cant load Tool. Please check network connection and VPN")
End If

End Sub

我做了同样的事情: 私有子文档_Open()

直接打开 Tool-Loader.dotm 文件时效果很好。但是将文件放在STARTUP文件夹并正常启动Word时不起作用。

我该如何解决这个问题?

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    Document_NewDocument_Open 仅适用于文档和文档模板。放置在 Startup 文件夹中的模板称为“全局模板”(Normal.dotm 也是一个全局模板)。全局模板已加载,未打开。

    由于模板没有 OnLoad 事件,我们必须寻找替代方案。如果全局模板包含功能区,则可以使用功能区的 OnLoad 事件。否则,我们必须走老路,使用AutoExec 例程,放置在标准模块中。

    自动宏的文档可以在here找到

    Public Sub AutoExec()
        
      Dim addinpath As String
      addinpath = "\\[NETWORK SHARE]\Tool.dotm"
        
      If Dir(addinpath) <> "" Then
        AddIns.add FileName:=addinpath, Install:=True
      Else
        MsgBox "Cant load Tool. Please check network connection and VPN"
      End If
        
    End Sub
    

    【讨论】:

      【解决方案2】:

      谢谢!根据您的回答,我将在我的工具加载器中添加一个功能区并尝试使用 OnLoad 事件。

      如果这不起作用,我会尝试 AutoExec

      针对有相同问题的人的更新: 使用自定义 UI 编辑器,我添加了以下代码行:

      <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="LoadAddin">
      </customUI>
      

      然后我打开 Tool-Loader.dotm 文件并将以下代码放在 ThisDocument 中:

      Dim MyRibbon As IRibbonUI
       
      Sub LoadAddin(Ribbon As IRibbonUI)
      On Error Resume Next
      Set MyRibbon = Ribbon
       
      Dim addinpath As String
      addinpath = "[networkshare]"
      
      If Dir(addinpath, vbDirectory) = "" Then
      MsgBox "Can't load addin, please check internetconnection and VPN."
      Exit Sub
      Else
          AddIns.Add FileName:=addinpath & "Tool.dotm", Install:=True
      End If
      
      End Sub
      

      现在它可以工作了,并且在打开 Word 时会加载最新版本的工具。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-09
        • 1970-01-01
        • 1970-01-01
        • 2011-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多