使用 Readiness Toolkit 评估 Microsoft 365 应用版的应用程序兼容性

Readiness Toolkit for Office add-ins and VBA 可帮助识别与你在 Office 中使用的 Microsoft Visual Basic for Applications (VBA) 宏和加载项的兼容性问题。Readiness Toolkit 包括准备情况报告创建程序,由该程序创建包含 VBA 宏兼容性和加载项准备情况信息的 Excel 报告,用于帮助组织评估移动向 Microsoft 365 应用版迁移的准备情况。

可以从 Microsoft 下载中心免费 Readiness Toolkit。建议始终下载并使用最新版本。Readiness Toolkit 检查你运行报告时是否正在使用最新版本,并将提示下载最新版本。不必卸载旧版本的 Readiness Toolkit 再安装最新版本。

重要

Readiness Toolkit 不会修复或修补 VBA 宏中的代码。如果创建高级报告,报告会在允许的情况下提供指导以更正 VBA 宏代码。

准备情况报告创建程序可以在追溯至 Office 2003 的 Office 版本中扫描 Word、Excel、PowerPoint、Outlook、Access、Project、Visio 和 Publisher 文件中的 VBA 宏。它还可以扫描用于 Office 的某些类型的加载项。将标识所有 Office 应用程序的加载项,但不包括 Web 加载项。有关详细信息,请参阅针对 VBA 宏分析的文件扩展名准备情况报告创建程序为其收集数据的加载项类型

下载内容是可用于在用户的计算机上安装 Readiness Toolkit 的一个 MSI 文件。安装该文件后,在运行准备情况报告创建程序时,UI 向导将引导你完成创建准备情况报告的过程。还有独立的可执行文件,可从命令行运行或与脚本结合使用。如果需要以更自动化的方式从整个企业的用户那里收集准备情况信息,那么此方法非常有用。有关详细信息,请参阅获取企业中多个用户的准备情况信息

下面提供的信息可帮助你使用准备情况报告创建程序:

备注

  • 运行 Readiness Toolkit 之后,很多企业发现具有的兼容性问题比开始预期要少。基于运行 Readiness Toolkit 的企业所提供的数据,平均 6% 的扫描文件具有宏,并且这些文件中,3.3% 具有宏问题。那就是仅 0.2% 的文件具有宏兼容性问题。有关 Office 加载项,所发现的 75% 的加载项已归类为已采用或已支持。
  • 如果你有关于 Readiness Toolkit 的问题或反馈,请发送电子邮件至 ReadyForOffice@microsoft.com 与我们联系。

创建准备情况报告

使用 Readiness Toolkit 的要求和限制

在安装和使用 Readiness Toolkit 之前,应注意下列要求:

备注

  • 建议使用 64 位版本的 Excel,特别是如果你希望在准备情况报告中显示超过 400,000 个结果时。
  • Windows 7 和 Excel 2010 不再支持产品。

此外,应了解与准备情况报告创建程序相关的几个限制:

  • 准备情况报告创建程序无法扫描密码保护的文件。如果尝试扫描其中一个文件,该文件将在报告中显示为“密码保护”。

  • 默认情况下,“准备情况报告创建程序”无法扫描在 SharePoint 文档库中、在 OneDrive 中或在某一其他类型的基于云存储位置中保存的文件。如果尝试扫描其中的一个文件,该文件将在报告中显示为“基于云”。欲知可能的变通方案,请参阅如何扫描基于云的文件

  • 准备情况报告创建程序在 Excel 工作表的单独行中列出与 Office 文档相关的每个问题。因此,准备情况报告创建程序只能返回 1,046,575 个结果。如果希望超出这些限制,建议缩小报告范围,如缩小到某个特定部门。

选择要用来创建报告的信息

若要创建准备情况报告,首先需要选择要用于创建报告的信息。下表列出了可能的选项以及每个选项的说明。此外,它还指定通过每个选项所创建的准备情况报告类型。

选项 说明 创建的报告
最近使用的 Office 文档和在此计算机上安装的外接程序
准备情况报告创建程序只扫描用户最近使用文件列表中的 Office 文档。这样可以缩小要扫描的用户定期访问的文档目标。

此外,准备情况报告创建程序将查找安装在准备情况报告创建程序所运行计算机上的任何 Office 外接程序。
VBA 和外接程序
本地文件夹或网络共享中的 Office 文档。
准备情况报告创建程序将扫描你指定的文件夹或网络共享中的 Office 文档。准备情况报告创建程序可自动扫描指定位置以及该位置中的所有子文件夹。

注意: 使用此选项,准备情况报告创建程序就不会在准备情况报告创建程序所运行计算机上查找安装的外接程序。
仅 VBA
以前的准备情况结果一起保存在本地文件夹或网络共享中。
该选项允许你创建一个由多个独立计算机的各个准备情况结果组成的综合报告。

例如,你可能想要在财务部门的所有计算机上运行准备情况报告创建程序,将每次扫描的结果都保存到网络共享中。然后,可以使用该选项为财务部门创建一个综合报告。

有关详细信息,请参阅获取企业中多个用户的准备情况信息
仅 VBA,或 VBA 和外接程序,具体要取决于使用的准备情况结果。
Office 遥测仪表板中的加载项数据。
如果已经在使用 Office 遥测仪表板来评估加载项兼容性,则可以使用已收集的信息来创建准备情况报告。你只需为准备情况报告创建程序提供适当的信息来访问 Office 遥测仪表板数据库即可。

注意: 使用此选项,准备情况报告创建程序就不会查找 VBA 宏。对于要运行此选项的用户,需要在数据库上授予 SELECT 访问权限。
仅外接程序

在基本报告和高级报告之间进行选择

在选择要用于创建报告的信息并指定保存报告的位置后,需选择创建基本报告还是高级报告。

我们强烈建议创建高级报告,因为高级报告提供了附加信息,可以帮助评估 VBA 宏和加载项与 Microsoft 365 应用版的兼容性。例如,在高级报告中,可以获取以下附加信息:

  • 针对 VBA 宏中发现的问题的修正建议(如果有)。此信息显示在报告中的一个单独工作表中。

  • 加载项的就绪情况。例如,报告可能表明,软件提供商提供了 Microsoft 365 应用版支持的加载项版本。

外接程序的就绪状态源自基于遥测的计算,以及 ISV 提供的显式支持语句。

为了提供最新的修正建议和就绪状态,准备情况报告创建程序会在创建报告时与 Microsoft 联系。与 VBA 宏和加载项相关的一些信息会被发送到 Microsoft。有关所发送内容的详细信息,请参阅在创建高级报告时发送给 Microsoft 的信息示例

重要说明: 如果正在创建高级报告,请确保正在运行准备工具包的计算机可以访问 Internet。准备工具包调用一个公共可用的 Web 服务,因此以下 URL 需要获得防火墙的允许:

解释准备情况报告中的信息

准备情况报告创建程序将创建一个 Excel 文件格式的准备情况报告。报告中提供的准备情况信息取决于报告所依据的信息,以及你选择创建的是基本报告还是高级报告。

每个报告都以“概述”页开始,其中提供有关结果的概要信息,以及指向可用报告的链接 - VBA外接程序,或两者。

VBA 准备情况报告

下表提供了在 VBA 准备情况报告中显示的不同选项卡(工作表)列表。

工作表名称 内容
VBA 概述
显示三个饼图,提供扫描结果的高级概述。

每个饼图显示不同的信息:扫描文件的状态、扫描期间发现的唯一宏的就绪状态,以及所扫描唯一文件的就绪状态。请参阅本节后面的表格,以详细了解有关这些饼图中显示的文件状态和就绪状态值。

Readiness Toolkit 将创建 VBA 宏代码的惟一哈希值,识别在多个文件中重用的宏。Readiness Toolkit 会执行类似操作以识别重复文件。Readiness Toolkit 执行此操作,是为了提供更加真实的评估,表明需要评估多少唯一 VBA 宏和唯一文件。

注意: 如果计划部署 64 位版 Microsoft 365 应用版,请务必选中“包含 64 位就绪情况数据”复选框,并刷新了报告。
VBA 摘要
提供一些预定义的数据透视表,以便分析从扫描中捕获的数据。

如果这些数据透视表不能满足特定需求,可以根据 VBA 结果工作表上的数据创建你自己的数据透视表。
VBA 结果
提供准备情况报告创建程序扫描的每个文件的信息。如果在扫描文件中发现多个问题,每个问题占单独一行。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。
VBA 修正
为在扫描过程中发现的 VBA 宏代码提供建议的更改。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。
VBA 引用
列出在代码和 VBA 项目中标识的引用。这些引用通常被用来调用外部 DLL、链接文件和 ODBC 连接,以供 VBA 代码使用。

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。

文件状态: 该报告还可根据所扫描文件的文件状态进行分类。下表列出了可能出现在准备情况报告中的文件状态,以及文件状态说明。

文件状态 说明
没有 VBA
已扫描该文件,未找到任何 VBA 宏代码。
有 VBA
已扫描该文件,已找到 VBA 宏代码。
基于云
无法扫描该文件,因为它保存在 SharePoint 文档库、OneDrive 或者其他类型的基于云的存储位置。
密码保护
该文件受密码保护,因此,不能对 VBA 宏进行扫描。
无法访问
由于某些原因无法扫描文件,诸如准备情况报告创建程序没有足够的权限访问文件、文件损坏,或者文件使用了非常旧的 Office 文件格式。
无法访问 - 需要驱动程序
无法扫描文件,因为执行扫描的计算机上未安装所需的 Microsoft Access 数据库引擎 2010。
已锁定
执行扫描时文件被锁定或被占用。
错误
在扫描过程中尝试读取的 VBA 代码流不是有效的格式。有时在支持的 Office 版本中打开文件然后保存,将能够让准备情况报告创建程序扫描文件。

严重性级别: 报告将根据严重性级别对 VBA 宏发现的问题进行分类,以帮助你估计解决所发现的问题需要多少工作量。如果在 VBA 宏中发现多个问题,报告将在饼图中显示最高严重级别。

下表列出了在准备情况报告中显示的一些可能的严重性,并对严重性级别进行了说明。

严重性 说明
已准备好升级
在此文件中没有发现任何问题,它与 Microsoft 365 应用版兼容。
代码设计意识
虽然代码将按预期方式正常运行,并且用户不太可能注意到任何更改,但功能、属性或方法的工作方式会与以前不同,或者可能会被弃用以支持较新的版本。
建议最小验证
虽然预计不会出现运行时或编译时错误,但 API 的功能可能在某种程度上已发生变化。建议用户使用 Microsoft 365 应用版对文件进行抽查,以确保它继续按预期运行。若要尽量减少环境问题,最好在宏通常运行的计算机上运行抽查。
需要有限修正
需要对代码进行一些重构。但是,其中有一个明显的功能替换,因此,可以显著减少修复宏所需的工作。
需要重大修正
需要进行重大的代码重构,以使代码能够像在旧版 Office 中那样继续正常运行。例如,一个已经被弃用的 API,但是没有提供替换功能。在这种情况下,唯一可用的选项是重新创建该功能。

VBA 详细信息: VBA 准备情况报告中的“VBA 结果”、“VBA 修正”和“VBA 引用”选项卡均包含相似的信息列。下表提供了这些列的列表,并这些列所包信息的说明。

列名称 说明 示例
准则
在扫描文档时确定的准则(规则)。
程序工具栏和菜单栏将在 Access 2013 中不再可见。
严重性
已标识问题的严重性。
需要重大修正
源位置
被扫描文件的位置。
D:\My Documents\My Files\
源文件
被扫描文件的名称。
MyFileName.xlsx
源文件哈希
唯一生成的文件哈希。
36426A0DCFC06F6425E205F107A5CA58
源文件扩展名
被扫描文件的扩展名。
.docm
模块
在其中标识了代码问题的模块名称。
mDJSCommandBars
行号
在其中标识了代码问题的行号。
112
类型
已标识的问题类型。
VBA
成员
发现问题的 VBA 模块分区名称(即函数)。
CommandBars
语句
在其中已标识问题的代码部分。
Dim ctlName As CommandBarControl
VBA 哈希
唯一生成的 VBA 代码哈希。
CC-D2-F3-9C-58-48-04-E4-16-5B-B6-44-B3-EB-EB-FE
引用
指向问题描述和帮助内容的链接(如果适用)。
https://technet.microsoft.com/library/cc178954.aspx
FileStatus
已处理的文件状态分类。
密码保护
64Bit
指定识别的问题是否特定于 64 位。

UserHash
文件用户。
Katharine Cruz
DeviceName
执行扫描的计算机名称。
Laptop01
原始代码
在宏中发现的 VBA 代码,在迁移到 64 位版本的 Office 时可能会引发问题。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
建议的更改
关于如何更新宏中的 VBA 代码以正确使用 64 位版本的 Office 的建议。1, 2
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
标签 1
自定义标签值(如已配置)。有关详细信息,请参阅使用标签对报告中的数据进行分类和筛选
北美
标签 2
自定义标签值(如已配置)。有关详细信息,请参阅使用标签对报告中的数据进行分类和筛选
旧金山
标签 3
自定义标签值(如已配置)。有关详细信息,请参阅使用标签对报告中的数据进行分类和筛选
财务
标签 4
自定义标签值(如已配置)。有关详细信息,请参阅使用标签对报告中的数据进行分类和筛选
控制器
源文件引用 (英文) 执行扫描时隐藏文件名时,用于标识 file-names.log 文件中的文件名称唯一值。欲知详情,请参阅 管理报告中所收集的数据隐私 9FE4E090A33CDA8F4502E7E5672464C8F40E79E353DC98FF8CA84846C7D99822
RT 版本 运行扫描的计算机上安装的 Readiness Toolkitba 版本 1.0.0.0

1 有关编写 64 位版本 Office VBA 代码的详细信息,请参阅 64 位 Visual Basic for Applications 概述

2 重要提示: 所有建议的更改都按原样提供,不提供任何保证或担保。在更新 VBA 宏代码时,请务必验证所有更改都按预期方式运行。

外接程序报告

下表提供了在外接程序报告中显示的不同选项卡(工作表)列表。

工作表名称 内容
外接程序摘要
提供了准备情况报告创建程序所发现的外接程序的高级概述。

工作表顶部的数据可便于快速评估有多少个加载项可能与 Microsoft 365 应用版兼容,有多少个加载项需要进一步研究。
外接程序详细信息
提供关于所发现外接程序的元数据信息(例如,发布者和版本号)、每个外接程序的安装总数,以及如果是高级报告,其就绪状态(例如,“支持的可用版本”)。
按计算机名称
提供的信息与“外接程序详细信息”工作表上的内容类似,但列出了在其上安装外接程序的每台计算机,而不仅仅是外接程序的总安装数。

你可以通过从“外接程序汇总”选项卡上的下拉列表中选择选项来调整外接程序报告中显示的信息,然后刷新报告。例如,可以调整报告,只显示关于 Access 和 Excel 外接程序的信息。

默认情况下,不显示由 Office 提供的加载项。如果要查看有关这些加载项的信息,请从下拉列表中选择“是”并刷新报告。但是,大多数企业无需担心 Office 附带的加载项的应用程序兼容性。

如果正在 收集加载项使用情况信息 ,并只想查看有关正在使用加载项的信息,可以从下拉列表中选择"是",并刷新报表。

如果计划部署 64 位版本的 Microsoft 365 应用版,请确保从下拉列表中选择“64 位”并刷新报告。此操作提供有关加载项的 64 位特定准备情况信息。报告的默认选择是 32 位。

下表列出了可以在外接程序报告中看到的可能的就绪状态,以及每个状态的含义说明。

就绪状态 说明
广泛采用
此加载项正广泛用于其他组织的 Microsoft 365 应用版,可以用于 Microsoft 365 应用版。 不过,软件提供商并不正式支持在 Microsoft 365 应用版上使用此加载项。
已采用
此加载项正用于其他组织的 Microsoft 365 应用版,但软件提供商并不正式支持在 Microsoft 365 应用版上使用此加载项。
已有已采用版本
此加载项在 Microsoft 365 应用版上有另一个就绪情况为“已采用”或“广泛采用”的版本。
联系软件提供商
此加载项可能在 Microsoft 365 应用版上有问题。你需要决定此加载项是否为业务关键型,然后与软件提供商联系以获取指导。
已有受支持版本
可以从软件提供商处获取 Microsoft 365 应用版支持的此加载项的版本。
未知1,2
此外接程序对 Microsoft 是未知的。例如,它可能是内部应用程序开发团队创建的一个业务线外接程序。

如果创建的是基本报告,所有外接程序的就绪状态都将被列为“未知”。只有在创建高级报告时,准备情况报告创建程序才会与 Microsoft 联系,以尝试获得外接程序的就绪状态。
数据不足2
Microsoft 已经看到此外接程序,但是没有收集到足够的信息为该其提供就绪状态。

1 一些默认随附 Office 提供的外接程序目前在外接程序准备情况报告中被标记为“未知”。这些外接程序实际上被广泛采用,并且得到了 Microsoft 的支持。下面是这些外接程序的名称:外接程序的 ActionsPane 架构、分析工具库、分析工具库 - VBA、日期 (XML)、Microsoft Office 2016 对话历史记录外接程序、欧洲货币工具、即时消息联系人(英文版)、度量转换器 (Measurement Converter)、Microsoft 操作窗格 3、Microsoft Office 2016 的 Skype 会议外接程序、规划求解外接程序、电话号码 (XML) 和时间 (XML)。

2 有关详细信息,请参阅对分类为“未知”或“数据不足”外接程序可能采取的步骤

外接程序详细信息: 外接程序报告中的“外接程序详细信息”和“按计算机名称”选项卡均包含相似的信息列。下表提供了这些列的列表,以及这些列所包含信息的说明。

列名称 说明
计算机名称
在其中安装外接程序的计算机的名称。

此列仅显示在“按计算机名称”选项卡上。
外接程序名称
外接程序的名称。
外接程序发布者
外接程序发布者的名称。
外接程序版本
外接程序的版本。
应用
在其中使用外接程序的 Office 应用程序。例如,Word 或 Excel。
安装总数
外接程序的安装总数。

此列仅显示在“外接程序详细信息”选项卡上。
就绪状态(32 位)
外接程序的就绪状态。仅限高级报告。

请参阅上面的表格,以获得可能的就绪状态列表。

注意:如果从“外接程序摘要”选项卡上的下拉列表中选择“64 位”,此列名将显示为“(64 位)”。
说明
有关外接程序就绪状态的附加信息(如果有的话)。仅限高级报告。
更多信息
指向有关加载项其他准备情况信息的链接。仅限高级报告。
总的设备安装 安装加载项的设备数量。

在收集加载项使用情况信息时可用。欲知详情,请参阅收集和显示在报表中的加载项使用情况信息
总的使用加载项的设备 自开始收集加载项使用情况信息起便已使用加载项的设备数。

在收集加载项使用情况信息时可用。欲知详情,请参阅收集和显示在报表中的加载项使用情况信息
{date} 起使用的加载项 指示自开始收集加载项使用情况信息起是否已使用该加载项。

在收集加载项使用情况信息时可用。欲知详情,请参阅收集和显示在报表中的加载项使用情况信息

获取企业中多个用户的准备情况信息

在单个用户的计算机上安装并运行准备情况报告创建程序以创建准备情况报告很简单。但是,如果在一个大型组织中,且需要为整个部门或分支机构创建准备情况报告,该怎么办?

除了准备情况报告创建程序的 UI 向导版本之外,还有一个独立的可执行文件,可以从命令行运行,也可以与脚本一起使用。该文件名为“ReadinessReportCreator.exe”,位于在其中安装 Readiness Toolkit 的文件夹中。

如果让用户运行准备情况报告创建程序的 UI 向导版本,那么最终会生成单独的 Excel 文件,每个用户一个文件。这使得难以从部门或办公室角度了解准备情况。此外,你还必须依赖用户运行准备情况报告创建程序,并正确遵循说明进行操作。

更好的选择可能是使用准备情况报告创建程序的命令行功能,并使用脚本运行准备情况报告创建程序来代表用户收集信息。可以将准备情况报告创建程序创建的文件保存到网络共享中。如果执行此操作,请确保将适当的写入权限授予给该共享。

备注

如果正在使用 Microsoft Endpoint Configuration Manager 或类似的企业软件部署工具来运行 Readiness Toolkit,则请务必部署使用用户上下文该包,而不是系统上下文。否则,Readiness Toolkit 将无法读取计算机上当前用户的注册表配置单元中的最近使用的 (MRU) 信息。

若要查看可用命令行选项列表,可以通过打开一个命令提示符,导航到安装 Readiness Toolkit 的文件夹,然后输入以下命令:

ReadinessReportCreator.exe -help

准备情况报告创建程序的命令行版本没有与 UI 向导版本相同的功能。你可以使用命令行版本来扫描计算机上最近使用的 Office 文档和最近安装的外接程序,或者在本地文件夹或网络共享中扫描 Office 文档。

下面是一个命令行示例,可以运行它来扫描 VBA 宏和外接程序,并将结果保存到财务部门的网络共享中。请注意,必须将“addinscan”选项作为进行外接程序扫描的命令行的一部分。

ReadinessReportCreator.exe -mru -addinscan -output \\server01\finance -silent

下面是一个命令行示例,可以运行它来扫描用户最近使用的 Office 文档,并将结果保存到财务部门的网络共享中。这只能扫描 VBA 宏。

ReadinessReportCreator.exe -mru -output \\server01\finance -silent

下面是一个命令行示例,可以运行它来扫描文件夹及其所有子文件夹,并将结果保存到财务部门的网络共享中。这只能扫描 VBA 宏。

ReadinessReportCreator.exe -p c:\officefiles\ -r -output \\server01\finance -silent

请务必注意,当你从命令行运行准备情况报告创建程序时,准备情况报告创建程序不会创建 Excel 文件。相反,准备情况报告创建程序会创建包含来自扫描的 VBA 宏和外接程序信息的 JSON 文件。

若要从这些不同的命令行扫描创建一个综合的 Excel 报告,你需要运行准备情况报告创建程序的 UI 向导版本。对于信息源,选择“一同保存在本地文件夹或网络共享中以前的准备情况结果”,然后指定保存所有扫描文件的位置。准备情况报告创建程序随后将 JSON 文件中的信息合并到单个 Excel 文件中。

请记住,准备情况报告创建程序会在 Excel 工作表中分别单独一行列出每个 Office 文档的问题。 因此,准备情况报告创建程序仅可返回 1,046,575 条结果。 如果你希望超出这些限制,我们建议你缩小报告的范围,如缩小到特定部门。 此外,SQL 导出选项对其可容纳的结果数量没有限制,因此,如果你希望得到大量结果,则这可能是一种合适的选择。

默认情况下,Readiness Toolkit 将在超时并移到另一个文件之前花费 2 分钟扫描一个文件。可以从命令行使用 -t 选项以允许 Readiness Toolkit 用超过 2 分钟来扫描一个文件。

使用 SQL Server 存储报告结果

从(2019 年 4 月 9 日发布的)版本 1.2.19098 开始,你可以将报告数据导出到任何支持的 SQL Server 或 SQL Server Express 版本。 此功能是为了回应想要在运行 Readiness Toolkit 时获得更大规模和更高灵活性的许多客户的反馈而开发的。

你可以使用 Readiness Report Creator 向导或命令行。 如果使用 Readiness Report Creator,请选择 本地文件夹或网络共享中的 Office 文档以前在本地文件夹或网络共享中一起保存的就绪情况结果 选项。 然后,在“报告设置”页上,选择“SQL Server 报告”。 提供必要的凭据和要使用的数据库的名称。 如果数据库不存在,则会创建数据库。

系统不会创建 Excel 文件,而会是创建一个包含相同信息的 Power BI 报告,以供你查看结果。 此 Power BI 报表可基于所需展开或进行更改。 其文件扩展名为 .pbit,并将保存到 Readiness Toolkit 的安装文件夹,通常为 C:\Program Files (x86)\Microsoft Readiness Toolkit for Office。 如果 Power BI 中提出提示,请选择“直接查询”数据访问模型。

如果使用 Readiness Report Creator 的命令行版本,请键入 ReadinessReportCreator.exe -help,查看使用 SQL Server 数据库的相应命令。 例如,你可以使用以下命令,依据以前的就绪情况结果为财务部门创建报告,使用名为 Readiness 的本地 SQL 数据库,并使用 SQL Server 身份验证(而不是 Windows 身份验证)。

ReadinessReportCreator.exe -sqlimport “C:\Reports\Finance” -server localhost/SQLEXPRESS -database Readiness -username Officeadmin -password seCRet123$%^

使用标签分类和筛选报告中的数据

你最多可以指定 4 个自定义标签,以对 Readiness Toolkit 创建的报告中的数据进行分类和筛选。在基于对用户计算机上最近使用的 Office 文档以及所安装的外接程序进行扫描而生成的报告中,都会有这些标签。

可以为自定义标签指定任何字符串。例如,可以使用标签来指示用户的部门、职务或地理位置。当 Readiness Toolkit 在用户计算机上运行时,将收集自定义标签,并使其在创建的报告中可用。例如,可以筛选报告以只显示来自“财务”部门的数据,或者只显示来自非洲办事处的数据。请以一致的方式分配标签,例如始终将标签 1 用于部门。

可以通过使用“指定与 Readiness Toolkit 结合使用的自定义标签”组策略设置来指定这些标签。可以在“用户配置\策略\管理模板\Microsoft Office 2016\Readiness Toolkit”下找到此策略设置。请务必下载最新的 Office 管理模板文件 (ADMX/ADML)

备注

如果使用的是“Office 遥测仪表板”,并且已配置标记(标签),则 Readiness Toolkit 会在扫描用户计算机期间自动收集这些标签,并在其报告中使其可用。但是,为 Readiness Toolkit 指定的标签不会显示在“Office 遥测仪表板”中。

管理报表中收集数据的隐私

组织中的用户使用包含敏感或保密信息的文件名保存文件是很常见的。要保护用户隐私及帮助防止泄露敏感信息,Readiness Toolkit 允许创建隐藏扫描期间标识的文件路径和文档名的报告。可以创建通过从 UI 向导或从命令行运行“准备情况报告创建程序”来隐藏此信息的报告。

如果正在使用 UI 向导,请通过选择“最近使用的 Office 文档和在此计算机上安装的加载项”或“本地文件夹或网络共享中的 Office 文档”作为想要创建的报告的类型开始。然后,在向导的下一页上,选择 隐藏文件名和路径 复选框,然后继续。

如果使用命令行创建报告,请使用 -ConcealNames 选项,如下面的示例中所示。

ReadinessReportCreator.exe -mru -addinscan -output \\server01\finance -silent -concealnames

创建隐藏文件路径和文档名的报告时,保留的唯一字符是驱动器号、文件名的前两个字符和文件扩展名。文件路径的其他字符和文件名,最多为 8 个字符,以及文件名的其他字符都用替换星号替代 (*)。例如,“c:\mergersinfo\Q4\companyx.docx”将显示为“c:\********\co******.docx。”

创建报告后,在运行扫描的计算机上创建一个名为 file-names.log 的文件。此文件包含已扫描的文件路径和名称的完整列表,没有任何隐藏信息。日志文件还包括列出的每个文件的引用代码。此引用代码显示在所创建的报表的列中。这使你可以标识报告中的特定文件,以防在报表中标识需要进一步调查的 VBA 宏或加载项问题。file-names.log 文件将保存到用户的 AppData 文件夹的临时文件夹中。例如,对于 user01,文件将保存到 C:\Users\user01\AppData\Local\Readiness Toolkit Temp\ 文件夹。

在报告中收集和显示加载项使用情况信息

如果希望更好地洞察组织内经常使用哪些加载项以及谁在使用,可以使用 Readiness Toolkit 收集加载项使用情况信息,并将其包含在准备情况报表中。

To collect add-in usage information, install the most current version of the Readiness Toolkit on each computer that you want to capture add-in usage information from. To enable the agent that generates and collects the add-in usage information, you need to enable the "Allow add-in usage data to be generated and collected by the Readiness Toolkit" Group Policy setting. This policy setting is available in the most current version of the Administrative Template files (ADMX/ADML) for Office that are available on the Microsoft Download Center. This policy setting is found under User Configuration\Policies\Administrative Templates\Microsoft Office 2016\Readiness Toolkit.

生成和收集的数据包括加载和使用加载项时,及如果加载项崩溃时。此信息存储在使用情况代理运行的计算机的注册表中。

建议允许使用情况代理至少运行 30 天,以确保具有良好的用户及其使用行为的覆盖范围。监控期间完成后,创建一份在报告中收集和显示信息的准备情况报告。拥有所需的信息后,通过更改“组策略”设置关闭使用情况代理。

备注

在此版本的 Readiness Toolkit 中,在运行 Office 2016 的计算机上是不收集加载项使用情况信息的。

检测 Silverlight 或 Flash 控件

在 Microsoft 365 应用版中,Silverlight、Shockwave Flash 和 Macromedia Flash 控件受到阻止而无法激活。有关详细信息,请阅读此技术社区文章

要识别包含这些控件的 Office 文件,可以选择创建准备情况报表时扫描所有的 Office 文档。这将扫描所有的 Office 文件,即使这些文件不包含宏。因为要扫描更多地文件,所以报告创建将需要更长时间。

如何扫描基于云的文件

默认情况下,“准备情况报告创建程序”无法扫描保存在 SharePoint 文档库、OneDrive 或某一其他类型的基于云存储位置中的文件。如果尝试扫描其中一个文件,该文件将在报告中显示为“基于云”。

一个可能的变通方法就是扫描用户计算机上这些基于云的文件的本地缓存。如果文件仅存储在基于云的位置,则可以创建映射到 OneDrive 或 SharePoint 的网络驱动器。然后,可以让“准备情况报告创建程序”扫描那驱动器。但是,当扫描该位置时,必须将文件下载到内存中以执行扫描。根据这些文件的数量和大小,这可能导致扫描花费的时间大大延长并占用大量的网络带宽。

浏览 Office 文档中的宏签名问题

为增强 Office VBA 宏项目签名的安全性,Microsoft 提供了更安全的 VBA 项目签名方案版本:V3 签名。 建议组织将 V3 签名应用于所有宏,以消除篡改风险。

可使用准备情况工具包查找组织中现有的已签名 VBA 文件,应升级以使用 V3 签名。

若要查找这些文件,请从提升的命令提示符运行准备情况报表创建者,并使用 sigscan 选项。 以下示例命令行将扫描 vba_files 文件夹中的文件,将在包含扫描结果的 vba_results 文件夹中创建 JSON 文件。

ReadinessReportCreator.exe -sigscan -p C:\vba_files -r -output C:\vba_results

若要查看 Excel 中的结果,请运行准备情况工具包,在 创建准备情况报表 页,选择保存在本地文件夹或网络共享位置中的 之前的准备情况。 然后,在命令行上指定使用 Sigscan 创建的 JSON 文件,并完成"准备情况工具包"向导中的步骤。

备注

若要使用 Sigscan,必须至少使用准备准备工具包的版本 1.2.21067(于 2021 年 3 月 19 日发布)。

有关详细信息包括如何升级这些文件以使用 V3 签名,请参阅 签名的 Office VBA 宏项目升级到 V3 签名

其他信息

针对 VBA 宏分析的文件扩展名

下表按应用程序列出了准备情况报告创建程序在 Office 文档中查找 VBA 宏时分析的文件扩展名。

应用程序 文件扩展名
Access
accdb, accdt, mdb
Excel
xla, xlam, xls, xlsm, xlsx, xlt, xltm, xltx
Outlook
otm
PowerPoint
pot, potm, potx, ppa, ppam, pps, ppsm, ppt, pptm, pptx, sldx, sldm
Project
mpp, mpt
Publisher
pub
Visio
vsd, vsdx, vsdm
Word
doc, docm, docx, dot, dotm, dotx

准备情况报告创建程序在其中收集数据的加载项类型

下表列出了准备情况报告创建程序收集其数据的加载项类型。 识别所有 Office 应用程序的加载项,但不包括 Web 加载项。为 Microsoft 365 应用版中运行的 COM 加载项提供就绪情况信息。

加载项类型 Office 应用程序 说明
自动化
Excel
Excel 支持的自动化外接程序是基于 COM 外接程序构建而成。可从 Excel 工作表中的公式调用自动化外接程序中的函数。
COM
Excel、Outlook、PowerPoint 和 Word
COM 外接程序包括通常用 C++ 编写的外接程序和使用托管代码开发的 Visual Studio Tools for Office (VSTO)。
VBA
Excel、PowerPoint 和 Word
VBA 外接程序是包含 VBA 代码的应用程序特定的文件,其中包括启用了宏的 Word 模板 (.dotm)、Excel 外接程序 (.xla, .xlam) 和 PowerPoint 外接程序 (.ppa, .ppam)。
WLL
Word
WLL (.wll) 外接程序特定于 Word,它是使用任何支持构建 DLL 的编译器构建的。
XLL
Excel
XLL 外接程序 (.xll) 特定于 Excel,它是使用任何支持构建 DLL(动态链接库)的编译器构建的。无需安装或注册这些外接程序。XLL 外接程序还包括包含了用户定义的命令和函数的 DLL。
XLS RTD
Excel
XLS 实时数据 (RTD) 外接程序是使用 RealTimeData 工作表函数调用自动化服务器来实时检索数据的 Excel 工作表。

创建高级报告时发送给 Microsoft 的信息示例

选择创建高级报告时,将向 Microsoft 发送一些信息。

下表提供了一个列表,其中包含发送给 Microsoft 的在扫描过程中发现的 VBA 宏的相关信息,以及示例。

数据 说明 示例
DevicesScanned
已扫描的计算机数。
DevicesScanned: 23
UniqueUsers
扫描中包含的用户数。
UniqueUsers: 14
规则
特定规则被发现应用于扫描的 VBA 宏的次数计数。GUID 仅用于标识规则。
48f05b1d-c8ad-4d0c-9453-1abdf007b2db: 23

74db65ab-76f3-43fb-997d-0d9750efb527: 2
FilesWithIssues
具有兼容性问题的唯一文件数。
FilesWithIssues: 320
FilesWithDuplicateVBA
包含重复宏的唯一文件数。
FilesWithDuplicateVBA: 233
FilesWithNoIssuesFound
没有任何问题的唯一文件数。
FilesWithNoIssuesFound: 12
InaccessibleFiles
唯一不可访问的文件数。
InaccessibleFiles: 4
FilesPasswordProtected
受密码保护的唯一文件数。
FilesPasswordProtected: 123
FilesLocked
唯一锁定文件数。
FIlesLocked: 0
FilesWithVBA
使用 VBA 的唯一文件数。
FilesWithVBA: 122
FilesWithoutVBA
不使用 VBA 的唯一文件数。
FilesWithoutVBA: 11
Significantremediationrequired
需进行重大修正的唯一文件数。
Significantremediationrequired: 12
Limitedremediationrequired
需进行有限修正的唯一文件数。
Limitedremediationrequired: 12
Minimalvalidationrequired
需进行最小验证的唯一文件数。
Minimalvalidationrequired: 22
CodeDesignChanges
包含我们建议更改的使用功能的唯一文件数。
CodeDesignChanges: 1
DevicesWithNoMacros 没有宏已启用文件的设备数。 DevicesWithNoMacros: 12
DevicesWithDeclares 已扫描的包含使用 Declare 语句宏的设备数。 DevicesWithDeclares: 12
DevicesWhichRequireSignificantRemediation 包含需要大量修正的宏文件的设备数。 DevicesWhichRequireSignificantRemediation: 12
DevicesBlockedFromUpgrade 包含需要修正才能解除阻止升级到 Microsoft 365 应用版的宏的设备数。 DevicesBlockedFromUpgrade: 1
DevicesWithMacrosWithIssues 包含与宏存在兼容性问题的设备数。 DevicesWithMacrosWithIssues: 2
DevicesWhichRequireLimitedRemediation 包含需要有限修正的宏文件的设备数。 DevicesWhichRequireLimitedRemediation: 12
DevicesWhichRequireMinimalValidation 包含宏文件需要最小验证的设备数。 DevicesWhichRequireMinimalValidation: 12
DevicesWithMacrosWithoutIssues 包含宏,但不具有任何兼容性问题的设备数。 DevicesWithMacrosWithoutIssues: 12
DevicesWithMacros 包含宏文件的设备数。 DevicesWithMacros: 12
DevicesSafeToUpgrade 可以升级到 Microsoft 365 应用版的设备数。 DevicesSafeToUpgrade: 12
DevicesWithOlderToolVersion 使用旧版本 Readiness Toolkit 的设备数。 DevicesWithOlderToolVersion: 12

下表提供了一个列表,其中包含发送给 Microsoft 的在扫描过程中发现的加载项的相关信息,以及示例。

数据 示例
加载项程序 ID
UCAddin.LyncAddin.1
友好名称
Microsoft Office 2016 (Outlook) 的 Skype 会议外接程序
说明
Microsoft Office 2016 的 Skype 会议外接程序
文件名
UCADDIN.DLL
外接程序 CLSID
{A6A2383F-AD50-4D52-8110-3508275E77F7}
提供商
Microsoft Corporation
文件时间戳
1499940832
文件版本
16.0.8326.2044
Office 应用
Outlook
设备数量
35

更改宏设置以查看准备情况报告中的信息

由准备情况报告创建程序创建的报告使用宏和活动内容来显示报告中的信息。因此,要在报告中查看 VBA 宏兼容性和外接程序准备情况信息,需要在 Excel 中允许宏和活动内容。如果在 Excel 中未启用宏和活动内容,则在打开报告时,会看到“概述”工作表上的“入门”消息。该页面提供了有关如何启用宏和活动内容的说明。只需单击消息栏中的“启用内容”即可实现。

某些情况下,可能看不到消息栏和“启用内容”选择。这极有可能是,因为 Excel 配置为在无通知的情况下禁用所有宏。你可以通过转到“文件” > “选项” > “信任中心” > “信任中心设置...” > “宏设置”来检查此设置。其中,在“信任中心”对话框中,可以将设置更改为“禁用所有宏并发出通知”。执行该操作后,选择“确定”,保存更改并关闭“信任中心”对话框,然后选择“确定”,以关闭“Excel 选项”对话框,再关闭报告文件。当再次打开报告文件时,应能看到消息栏和“启用内容”选择。

如果宏设置选项在“信任中心”对话框中显示为灰色,则管理员已通过使用组策略配置过这些设置,且不能手动更改设置。在这种情况下,最简单的解决方案是,在不同的计算机(其中 Excel 的宏设置允许通过在消息栏中选择“启用内容”选项来启用宏)上打开报告文件。

有关宏设置选项的详细信息,请参阅启用或禁用 Office 文件中的宏

对分类为“未知”或“数据不足”外接程序可能采取的步骤

如果一个外接程序被归类为“未知”或“数据不足”,则意味着 Microsoft 还没有关于此外接程序的足够信息来提供就绪状态。如果这是一个对组织业务至关重要的外接程序,你可以:

  • 联系开发此加载项的软件提供商,以确定 Microsoft 365 应用版是否支持此加载项。

  • 请通过 ReadyForOffice@microsoft.com 与我们联系。我们会竭力将外接程序的就绪状态添加到我们的数据库中。请提供尽可能多的有关外接程序的信息,包括但不限于以下内容:

    • 友好名称

    • 文件版本

    • 软件提供商

    • 下载链接,或任何关于如何下载和安装外接程序的详细信息。

    • 其他详细信息,诸如外接程序类型,外接程序与之结合使用的 Office 应用、Prog ID 或 CLSID。

以错误报告形式发送给 Microsoft 的信息

如果在显示准备情况报告时遇到问题,你将会收到一条消息,询问是否需要向 Microsoft 发送错误报告。例如,如果在报告中创建图表或查询收集的数据时遇到问题。

通过向 Microsoft 发送错误报告,可以帮助我们改进 Readiness Toolkit。发送给 Microsoft 的错误报告不包含任何可识别的个人信息。下表提供了在错误报告中发送给 Microsoft 的信息列表。

已发送数据 说明
模块 发生错误的 VBA 模块。
Sub 过程/函数名称 出错的 Sub 过程或函数的名称。
行标识符 放置在最后成功执行的代码行开头的标识符。
错误消息 用户消息通常由错误输出。可能会对一些错误进行本地化。
错误号 标识错误的号码。
源名称 引发错误的对象名称。这不是变量名称。
工具版本 使用的 Readiness Toolkit 版本。
报告 GUID 为每个报告生成的 GUID,以帮助筛选重复错误。
会话 ID 创建报告时,会话 ID 可以帮助将该报告与 Readiness Toolkit 记录的任何错误关联起来。
Excel 版本 用于查看准备情况报告的 Excel 版本。