Word 中的 VBA 代码,用于检查当前宏是否为最新版本

问题描述

我正在 Word 2013 中创建一个宏以与我的组织共享。但是,我想在宏更新时通知他们。基本上,我希望他们运行宏,如果它在网络上找到更新的版本,则创建一条消息,告诉他们安装最新版本。

我认为最简单的解决方案是使用 FileDateTime("\Server\test\book1.xlsm") 检查保存到网络的文件,然后如果比当前宏文件更新,它会提供一条消息:MsgBox “网络共享上存在此宏的新版本。请安装新版本。”

我知道如何查找文件是否存在,只是不知道如何检查它是否更新:

Sub FileExists()

    Dim FilePath As String
    Dim TestStr As String

    FilePath = "D:\FolderName\Sample.xlsx"

    TestStr = ""
    On Error Resume Next
    TestStr = Dir(FilePath)
    On Error GoTo 0
    If TestStr = "" Then
        MsgBox "File doesn't exist"
    Else
        Workbooks.Open "D:\FolderName\Sample.xlsx"
    End If

End Sub

谁能帮忙拼凑一下?

解决方法

您最好确保将宏存储在文档的模板中,您还可以将其存储在文档可以访问的网络文件夹中,然后在需要时简单地更新模板。这样:

  • 文档可以保留为 docx 格式;
  • 无需指示用户下载宏更新(无论如何我都不会指望他们这样做);
  • 您始终可以确保他们运行的宏的版本是最新的。
,

宏应该存储在使用它的文档模板或全局模板中。两者都可以存储在网络驱动器上。我的偏好是在本地计算机上使用它们,如果使用旧的 XCOPY 命令进行更改,则网络登录脚本设置为更新本地副本。

工作组模板是为企业或部门管理的文档模板。全局模板与所有文档共享资源(如宏),但不使用它们本身来创建新文档。