问题描述
我正在 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 命令进行更改,则网络登录脚本设置为更新本地副本。
- 我在 Global Templates 上的写作
- 我在 Workgroup Templates 上的写作
工作组模板是为企业或部门管理的文档模板。全局模板与所有文档共享资源(如宏),但不使用它们本身来创建新文档。