【问题标题】:Finding Version of OFFICE 365 Build version with MS-Access VBA使用 MS-Access VBA 查找 OFFICE 365 Build 版本
【发布时间】:2022-06-12 15:50:54
【问题描述】:

随着 Microsoft 对 Office 365 的最新强制更新 broke so many Access databases 使用表 ODBC links to server databases,我一直在尝试找到一种方法来在 MS-Access 中提取 Office 构建信息并在主窗体中显示该信息疑难解答。

有很多 solutions 在 VBA 中使用 Application.Version,但似乎没有显示有问题的更新版本。我正在寻找一种可能可以使用注册表、DLL 或 VBA 对象属性找到它的解决方案。

在 Access 中 - 在 文件 | 下帐户我可以在

下看到有问题的版本
  • Office 即点即用中的产品信息

或者,

  • 关于访问权限在 Apps For Business 中

从 VBA 我可以得到以下内容

Debug.Print Application.Version & "." & Application.Build & vbcrlf & Application.ProductCode
16.0.8326 
{90160000-000F-0000-0000-0000000FF1CE}

查看 MSAccess.exe 的属性只显示相同的应用版本

编辑

注册表设置也不行

看着 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration 只显示

CurrentVersionToReport=16.0.8326.2096

【问题讨论】:

    标签: vba ms-access odbc office365 ms-access-2016


    【解决方案1】:

    不幸的是,这不是一项微不足道的任务,但科林做了一次认真的尝试:

    Access / Office 365 / Windows Version Check

    2.55 版。 2021 年 11 月 26 日更新

    附件是一个用于检查以下内容的实用程序:a) 访问版本 & 位数 b) 是否安装了 Office 365 c) Windows 版本 & 位数(32/64 位)

    有几个函数可用于获取 Access 版本 不同程度的细节。

    • GetAccessVersion 例如16.0(适用于 Access 2016/2019/2021/365)
    • GetAccessBuildVersion 例如16.0.14701(用于 Access 365)
    • GetAccessEXEVersion 例如访问 365 - 构建 16.0.14701.20226

    这些与返回值 32 位或 64 位的另一个函数 IsOfficex64 结合使用

    完整的 Windows 版本是使用 GetWindowsVersion 获得的 返回例如的函数Windows 10 专业版 21H2 - 内部版本 10.0.19044.1348 64位

    这里的代码太多了。

    【讨论】:

    • 哇-很棒的资源@Gustav。他详细分析了 Microsoft 版本的差异,甚至注册表设置。我发现如果有人注册他们的帐户然后触发 ClickToRun 注册表结构,我觉得很神奇。感谢您的参考。
    【解决方案2】:

    您可以将构建映射到版本。它们是一样的。

    您已经知道如何获取内部版本号 Application.Build

    您可以使用 Microsoft Docs 上提供的表格进行映射:https://docs.microsoft.com/en-us/officeupdates/update-history-microsoft365-apps-by-date

    版本只是一个较短的代码,因此更容易记忆和交流(微小的更改可能会导致不同的版本号但版本号相同)。

    【讨论】:

    • 哇 - 这很有用 - 谢谢 Erik。我想我可以构建代码来拉表并制作带有内部版本号的查找表。有趣的是,更新历史没有提及任何与 ODB 或 SQL Server 相关的内容。而且还没有修复。很棒的资源链接。还指出为什么我们公司使用当前的渠道发布路径的问题。谢谢你的信息。
    • 我仍然无法找到与更新版本不匹配的 OFFICE 版本 - 只有 MS-Access。甚至注册表设置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration也只显示CurrentVersionToReport=16.0.8326.2096
    • 哎呀 - 我现在看到了匹配 - 我可以使用发布历史表将内部版本号链接到版本
    【解决方案3】:

    Office 应用程序不以About 窗口中列出的格式提供版本号。您需要在所有构建列表中找到Application.Version,并带有相应的人类可读版本listed in MSDN

    【讨论】:

      【解决方案4】:

      关于信息,Gustav 提供的我的 Access/Office/Windows 版本检查器的旧链接不再维护,最终将消失。当前链接为https://www.isladogs.co.uk/access-office365-win-check/index.html

      【讨论】: