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

The Readiness Toolkit for Office add-ins and VBA can help you identify compatibility issues with your Microsoft Visual Basic for Applications (VBA) macros and add-ins that you use with Office. The Readiness Toolkit includes the Readiness Report Creator, which creates an Excel report with VBA macro compatibility and add-in readiness information to help your organization assess its readiness to move to Microsoft 365 Apps.

You can download the Readiness Toolkit for free from the Microsoft Download Center. We recommend that you always download and use the most current version. The Readiness Toolkit checks if you're using the most current version when you run a report and will prompt you to download the most current version. You don't have to uninstall the older version of the Readiness Toolkit before installing the most current version.


The Readiness Toolkit doesn't repair or fix the code in your VBA macros. If you create an advanced report, the report does provide guidance, when available, for remediating your VBA macro code.

The Readiness Report Creator can scan for VBA macros in Word, Excel, PowerPoint, Outlook, Access, Project, Visio, and Publisher files, for Office versions as far back as Office 2003. It can also scan for certain types of add-ins used with Office. Add-ins for all Office applications are identified, but it doesn't include web add-ins. For more information, see File extensions analyzed for VBA macros and Types of add-ins for which the Readiness Report Creator collects data.

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



  • After running the Readiness Toolkit, many enterprises find that they have fewer compatibility issues than first expected. Based on data provided by enterprises running the Readiness Toolkit, on average 6% of scanned files have macros, and of those files, 3.3% have macro issues. So that's only 0.2% files with macro compatibility issues. For Office add-ins, 75% of add-ins found are already categorized as adopted or supported.
  • 如果你有关于 Readiness Toolkit 的问题或反馈,请发送电子邮件至 ReadyForOffice@microsoft.com 与我们联系。


使用 Readiness Toolkit 的要求和限制

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

  • Windows 7 Service Pack 1 (SP1)* 或更高版本

  • Microsoft .NET Framework 4.5.1 或更高版本

  • Excel 2010 或更高版本


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


  • The Readiness Report Creator can't scan password protected files. If you try to scan one of these files, the file shows up as "Password protected" in the report.

  • By default, the Readiness Report Creator can't scan files that are saved in a SharePoint document library, in OneDrive, or in some other type of cloud-based storage location. If you try to scan one of these files, the file shows up as "Cloud-based" in the report. For a possible workaround, see How to scan cloud-based files.

  • The Readiness Report Creator lists each issue with an Office document in a separate row in an Excel worksheet. Therefore, the Readiness Report Creator can only return 1,046,575 results. If you expect to exceed these limits, we recommend that you narrow the scope of your report, such as to a specific department.


To create a readiness report, you first need to select what information to use to create the report. The following table lists the possible options and an explanation of each option. It also specifies which type of readiness report is created with each option.

选项 说明 创建的报告
最近使用的 Office 文档和在此计算机上安装的外接程序
就绪情况报告创建者仅扫描用户最近使用的文件列表中的 Office 文档。 这样,就可以将扫描的焦点缩小到用户定期访问的文档。

此外,准备情况报告创建程序将查找安装在准备情况报告创建程序所运行计算机上的任何 Office 外接程序。
VBA 和外接程序
本地文件夹或网络共享中的 Office 文档。
The Readiness Report Creator scans the Office documents in the folder or network share that you specify. The Readiness Report Creator automatically scans the specified location, and all the subfolders in that location.

注意: 使用此选项,准备情况报告创建程序就不会在准备情况报告创建程序所运行计算机上查找安装的外接程序。

For example, you might want to run the Readiness Report Creator on all the computers in the Finance department, saving the results of each scan to a network share. Then, you can use this option to create a consolidated report for the Finance department.

仅 VBA,或 VBA 和外接程序,具体要取决于使用的准备情况结果。
从 Office 遥测仪表板添加数据。
如果已在使用 Office 遥测仪表板 来评估外接程序兼容性,则可以使用已收集的信息来创建就绪情况报告。 只需为就绪情况报告创建者提供适当的信息即可访问适用于 Office 遥测仪表板的数据库。

Note: With this option, the Readiness Report Creator doesn't look for VBA macros. GRANT SELECT access on the database is required for the user to run this option.



We strongly recommend that you create an advanced report because an advanced report provides additional information to help you assess the compatibility of your VBA macros and add-ins with Microsoft 365 Apps. For example, in an advanced report, you get the following additional information:

  • Remediation advice, when available, for issues found in your VBA macros. This information is shown in a separate worksheet in the report.

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

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

To provide you with the most up-to-date remediation advice and readiness status, the Readiness Report Creator contacts Microsoft when it creates the report. Some information about your VBA macros and add-ins is sent to Microsoft. For more information about what is sent, see Examples of the information sent to Microsoft when creating an advanced report.

Important: If you're creating an advanced report, make sure the computer on which you're running the Readiness Toolkit has access to the internet. The Readiness Toolkit calls a publicly available web-service, so the following URLs need to be allowed by your firewall:

  • https://officeclient.microsoft.com/serverconfig16

  • https://ready.osi.office.net/orfo/api/readinesssummary

  • https://ready.osi.office.net/orfo/api/vbareportsummary


The Readiness Report Creator creates a readiness report as an Excel file. The readiness information available in the report depends on what information you based your report on, as well as whether you chose to create a basic or advanced report.

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

VBA 准备情况报告

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

工作表名称 内容
VBA 概述

Each pie chart shows different information: the status of the files scanned, the readiness status for the unique macros found during the scan, and readiness status of the unique files scanned. See the tables later in this section for more information about the file status and readiness status values that appear in these pie charts.

The Readiness Toolkit creates a unique hash of the VBA macro code to identify macros that are reused in multiple files. The Readiness Toolkit does something similar to identify duplicate files. The Readiness Toolkit does this to provide you with a more realistic assessment of how many unique VBA macros and unique files need to be evaluated.

注意: 如果计划部署 64 位版 Microsoft 365 应用版,请务必选中“包含 64 位就绪情况数据”复选框,并刷新了报告。
VBA 摘要

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

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

有关在每一列中出现的信息的说明,请参阅本节末尾“VBA 详细信息”标题下的表。
VBA 引用
List references identified in code and in the VBA project. These references are generally used to call external DLLs, linked files, and ODBC connections for use by the VBA code.

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

File status: The report also categorizes, by a file status, the files that were scanned. The following table lists the possible file statuses that can appear in a readiness report, and an explanation of the file status.

文件状态 说明
没有 VBA
已扫描该文件,未找到任何 VBA 宏代码。
已扫描该文件,已找到 VBA 宏代码。
无法扫描该文件,因为它保存在 SharePoint 文档库、OneDrive 或某种其他类型的基于云的存储位置中。
该文件受密码保护,因此,不能对 VBA 宏进行扫描。
由于某种原因,无法扫描该文件,例如就绪情况报告创建者没有足够的权限访问该文件、文件已损坏或文件使用旧的 Office 文件格式。
无法访问 - 需要驱动程序
无法扫描文件,因为执行扫描的计算机上未安装所需的 Microsoft Access 数据库引擎 2010。
The VBA code stream trying to be read during the scan wasn't in a valid format. Sometimes opening, and then saving, the file in a supported Office version will allow the Readiness Report Creator to scan the file.

Severity level: The report categorizes, by a severity level, the issues found with the VBA macros to help you estimate how much effort it will take to address the issues found. If multiple issues are found with a VBA macro, the report displays the highest severity level in the pie chart.


严重性 说明
在此文件中没有发现任何问题,它与 Microsoft 365 应用版兼容。
No runtime or compile time errors are expected, but the API functionality may have changed in some way. It's recommended that the user runs a spot check on the file with Microsoft 365 Apps to ensure it continues to function as expected. To minimize environmental issues, ideally run the spot check on the computer that the macro usually runs.
需要对代码进行一些重构。 但是,有一个明确的替代,因此预期是修复宏所需的工作显著减少。
Significant code refactoring will be required to enable the code to continue to function as it did in the legacy Office version. For example, an API that has been deprecated, but no replacement function has been provided. In this case, the only option available is to recreate the functionality.

Detailed VBA information: The VBA Results, VBA Remediation, and VBA References tabs in the VBA readiness report each contain similar columns of information. The following table provides a list of those columns, along with an explanation of what information is contained those columns.

列名称 说明 示例
程序工具栏和菜单栏将在 Access 2013 中不再可见。
D:\My Documents\My Files\
发现问题的 VBA 模块分区名称(即函数)。
Dim ctlName As CommandBarControl
VBA 哈希
唯一生成的 VBA 代码哈希。
指定识别的问题是否特定于 64 位。

Katharine Cruz
在宏中发现的 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
Value of custom label, if configured. For more information, see Use labels to categorize and filter data in reports.
标签 2
Value of custom label, if configured. For more information, see Use labels to categorize and filter data in reports.
标签 3
Value of custom label, if configured. For more information, see Use labels to categorize and filter data in reports.
标签 4
Value of custom label, if configured. For more information, see Use labels to categorize and filter data in reports.
源文件引用 (英文) Unique value used to identify the file name in the file-names.log file when concealing file names when doing a scan. For more information, see Manage the privacy of data collected in reports. 9FE4E090A33CDA8F4502E7E5672464C8F40E79E353DC98FF8CA84846C7D99822
RT 版本 运行扫描的计算机上安装的 Readiness Toolkitba 版本

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

2 Important: All proposed changes are provided as is, with no warranty or guarantee. It's important to validate that all changes work as expected when you update your VBA macro code.



工作表名称 内容

工作表顶部的数据可便于快速评估有多少个加载项可能与 Microsoft 365 应用版兼容,有多少个加载项需要进一步研究。

You can adjust what information is shown in the add-in report by selecting choices from the drop-down lists on the Add-in Summary tab, and then refreshing the report. For example, you can adjust the report to only show information about Access and Excel add-ins.

By default, add-ins that are shipped by Office aren't shown. If you want to see information about those add-ins, select "Yes" from the drop-down list and refresh the report. But, most enterprises won't need to worry about application compatibility of add-ins that are shipped with Office.

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

If you plan to deploy the 64-bit version of Microsoft 365 Apps, be sure to select "64-bit" from the drop-down list and refresh the report. This provides 64-bit specific readiness information about the add-ins. The default selection for reports is 32-bit.


就绪状态 说明
此加载项正广泛用于其他组织的 Microsoft 365 应用版,可以用于 Microsoft 365 应用版。 不过,软件提供商并不正式支持在 Microsoft 365 应用版上使用此加载项。
此加载项正用于其他组织的 Microsoft 365 应用版,但软件提供商并不正式支持在 Microsoft 365 应用版上使用此加载项。
此加载项在 Microsoft 365 应用版上有另一个就绪情况为“已采用”或“广泛采用”的版本。
This add-in might have issues with Microsoft 365 Apps. You need to decide if this add-in is business critical and then contact the software provider for guidance.
可以从软件提供商处获取 Microsoft 365 应用版支持的此加载项的版本。
This add-in is unknown to Microsoft. For example, it could be a line-of-business add-in that your in-house application development team created.

If you create a basic report, the readiness status for all add-ins is listed as Unknown. It's only when you create an advanced report that the Readiness Report Creator contacts Microsoft to try to get readiness status of add-ins.
Microsoft 已经看到此外接程序,但是没有收集到足够的信息为该其提供就绪状态。

1 Some of the add-ins that ship by default with Office are currently flagged as Unknown in an add-in readiness report. These add-ins are actually Highly Adopted and are supported by Microsoft. Here are the names of those add-ins: ActionsPane Schema for Add-Ins, Analysis ToolPak, Analysis ToolPak - VBA, Date (XML), Conversation History Add-in for Microsoft Office 2016, Euro Currency Tools, Instant Messaging Contacts (English), Measurement Converter (Measurement Converter), Microsoft Actions Pane 3, Skype Meeting Add-in for Microsoft Office 2016, Solver Add-in, Telephone Number (XML), and Time (XML).

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

Detailed add-in information: The "Add-in Details" and "By computer name" tabs in the add-in report each contain similar columns of information. The following table provides a list of those columns, along with an explanation of what information is contained in those columns.

列名称 说明

The Office application that the add-in is used in. For example, Word or Excel.

就绪状态(32 位)
The readiness status for the add-in. Advanced reports only.


注意:如果从“外接程序摘要”选项卡上的下拉列表中选择“64 位”,此列名将显示为“(64 位)”。
Additional information, if available, about the readiness status of the add-in. Advanced reports only.
Link to additional readiness information about the add-in. Advanced reports only.
总的设备安装 安装加载项的设备数量。

Available when collecting add-in usage information. For more information, see Collect and show add-in usage information in reports.
总的使用加载项的设备 自开始收集加载项使用情况信息起便已使用加载项的设备数。

Available when collecting add-in usage information. For more information, see Collect and show add-in usage information in reports.
{date} 起使用的加载项 指示自开始收集加载项使用情况信息起是否已使用该加载项。

Available when collecting add-in usage information. For more information, see Collect and show add-in usage information in reports.


It's easy enough to install and run the Readiness Report Creator on a single user's computer to create a readiness report. But what if you're in a large organization and need to create readiness reports for an entire department or branch office?

除了就绪情况报告创建者的 UI 向导版本外,还有一个可从命令行运行或与脚本一起使用的独立可执行文件。 它名为 ReadinessReportCreator.exe,位于安装就绪工具包的文件夹中。

If you have your users run the UI wizard version of the Readiness Report Creator, you end up with separate Excel files, one for each user. That makes it difficult to see readiness from a departmental or office-wide perspective. You also have to rely on the users to run the Readiness Report Creator and follow the instructions correctly.

The better alternative might be to use the command line capabilities of the Readiness Report Creator and use a script to run the Readiness Report Creator to collect the information on behalf of the user. You can save the files created by the Readiness Report Creator to a network share. If you do this, make sure that the appropriate write permissions are given to the share.


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

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

ReadinessReportCreator.exe -help

The command line version of the Readiness Report Creator doesn't have the all the same capabilities as the UI wizard version. You can use the command line version to scan the most recently used Office documents and installed add-ins on a computer, or Office documents in a local folder or network share.

The following is an example of a command line that you can run to scan for both VBA macros and add-ins, and save the results to a network share for the Finance department. Note that you have to include addinscan option as part of the command line for the add-in scan to occur.

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

The following is an example of a command line that you can run to scan a user's most recently used Office documents and save the results to a network share for the Finance department. This only scans for VBA macros.

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

The following is an example of a command line that you can run to scan a folder, and all its subfolders, and save the results to a network share for the Finance department. This only scans for VBA macros.

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

It's important to note that when you run the Readiness Report Creator from the command line, the Readiness Report Creator doesn't create an Excel file. Instead the Readiness Report Creator creates JSON files containing VBA macro and add-in information from the scan.

To create a consolidated Excel report from these various command line scans, you need to run the UI wizard version of the Readiness Report Creator. For the information source, select "Previous readiness results saved together in a local folder or network share," and then specify the location where you saved all the files for the scans. The Readiness Report Creator then consolidates the information from the JSON files into a readiness report in a single Excel file.

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

By default, the Readiness Toolkit will spend 2 minutes scanning a file before timing out and moving on to another file. You can use the -t option from the command line to allow the Readiness Toolkit more than 2 minutes to scan a file.

使用 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$%^


You can specify up to four custom labels to categorize and filter data in reports created by the Readiness Toolkit. Labels are available in reports that are based on scans of the most recently used Office documents and installed add-ins on the user’s computer.

You can specify any string for the custom labels. For example, you can use a label to indicate the user’s department, title, or geographic location. When the Readiness Toolkit runs on the user’s computer, the custom labels are collected and are made available in the reports that are created. For example, you can filter the report to show only data from the Finance Department or only data from offices in Africa. Assign labels in a consistent manner, such as always using Label 1 for department.

You can specify these labels by using the Specify custom labels to use with the Readiness Toolkit Group Policy setting. You can find this policy setting under User Configuration\Policies\Administrative Templates\Microsoft Office 2016\Readiness Toolkit. Be sure to download the latest Administrative Template files (ADMX/ADML) for Office.


If you're using the Office Telemetry Dashboard and have already configured tags (labels), the Readiness Toolkit automatically collects those labels during its scan of the user's computer and will make them available in its reports. But, labels you specify for the Readiness Toolkit won't appear in the Office Telemetry Dashboard.


It’s common for users in an organization to save Office files using file names that contain sensitive or confidential information. To protect the privacy of users and to help prevent revealing sensitive information, the Readiness Toolkit allows you to create a report that conceals the file paths and names of documents identified during a scan. You can create a report that conceals this information either by running the Readiness Report Creator from the UI wizard or from the command line.

If you're using the UI wizard, begin by selecting either "Most recently used Office documents and installed add-ins on this computer" or "Office documents in a local folder or network share" as the type of report that you want to create. Then, on the next page of the wizard, select the Conceal file names and paths check box, before continuing on.

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

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

When you create a report that conceals the file paths and names of documents, the only characters that remain are the drive letter, the first two characters of the file name, and the file extension. The other characters of the file path, up to 8 characters, and of the file name are replaced with asterisks (*). For example, "c:\mergersinfo\Q4\companyx.docx" will appear as "c:\********\co******.docx."

When the report is created, a file named file-names.log is created on the computer that ran the scan. This file contains a complete list of the file paths and names that were scanned, without any of the information concealed. The log file also includes a reference code for each file listed. This reference code appears in a column of the report that's created. This allows you to identify the specific file in the report, in case a VBA macro or add-in issue that needs further investigation is identified in the report. The file-names.log file is saved to a temp folder in the user's AppData folder. For example, for user01, the file is saved to the C:\Users\user01\AppData\Local\Readiness Toolkit Temp\ folder.


如果希望更好地洞察组织内经常使用哪些加载项以及谁在使用,可以使用 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.

The data generated and collected includes when the add-in is loaded and used, and if the add-in crashes. This information is stored in the registry of the computer on which the usage agent runs.

We recommend that you allow the usage agent to run for at least 30 days, to ensure you have good coverage of your users and their usage behavior. Once the monitoring period is complete, create a readiness report to collect the information and display it in a report. After you have the information you need, turn off the usage agent by changing the Group Policy setting.


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

检测 Silverlight 或 Flash 控件

Silverlight, Shockwave Flash, and Macromedia Flash controls are blocked from activating in Microsoft 365 Apps. For more information about this, read this Tech Community post.

To identify Office files that contain these controls, you can choose to scan all Office documents when you create a readiness report. This will scan all Office files, even if those files don't contain macros. Because more files are scanned, report creation will take longer.


By default, the Readiness Report Creator can't scan files that are saved in a SharePoint document library, in OneDrive, or in some other type of cloud-based storage location. If you try to scan one of these files, the file shows up as "Cloud-based" in the report.

One possible workaround is to scan the local cache of these cloud-based files on the user's computer. If the files are only stored in a cloud-based location, you can create a mapped network drive to a OneDrive or SharePoint share. Then, you can have Readiness Report Creator scan that drive. But, when this location is scanned, the files must be downloaded in memory to perform the scan. Depending on the number and size of those files, this could result in the scan taking significantly longer and using up a considerable amount of network bandwidth.

浏览 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 宏时分析的文件扩展名。

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


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

加载项类型 Office 应用程序 说明
Excel 支持的自动化外接程序是基于 COM 外接程序构建而成。可从 Excel 工作表中的公式调用自动化外接程序中的函数。
Excel、Outlook、PowerPoint 和 Word
COM 外接程序包括通常用 C++ 编写的外接程序和使用托管代码开发的 Visual Studio Tools for Office (VSTO)。
Excel、PowerPoint 和 Word
VBA add-ins are application-specific files that contain VBA code. These include macro-enabled Word templates (.dotm), Excel add-ins (.xla, .xlam), and PowerPoint add-ins (.ppa, .ppam).
WLL (.wll) 外接程序特定于 Word,它是使用任何支持构建 DLL 的编译器构建的。
XLL add-ins (.xll) are specific to Excel and are built with any compiler that supports building DLLs (dynamic-link libraries). They do not have to be installed or registered. XLL add-ins also include DLLs that contain user-defined commands and functions.
XLS 实时数据 (RTD) 外接程序是使用 RealTimeData 工作表函数调用自动化服务器来实时检索数据的 Excel 工作表。

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

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

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

数据 说明 示例
DevicesScanned: 23
UniqueUsers: 14
Count of how many times a specific rule was found to apply to the VBA macros scanned. A GUID is used to uniquely identify the rule.
48f05b1d-c8ad-4d0c-9453-1abdf007b2db: 23

74db65ab-76f3-43fb-997d-0d9750efb527: 2
FilesWithIssues: 320
FilesWithDuplicateVBA: 233
FilesWithNoIssuesFound: 12
InaccessibleFiles: 4
FilesPasswordProtected: 123
FIlesLocked: 0
使用 VBA 的唯一文件数。
FilesWithVBA: 122
不使用 VBA 的唯一文件数。
FilesWithoutVBA: 11
Significantremediationrequired: 12
Limitedremediationrequired: 12
Minimalvalidationrequired: 22
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
Microsoft Office 2016 (Outlook) 的 Skype 会议外接程序
Microsoft Office 2016 的 Skype 会议外接程序
外接程序 CLSID
Microsoft Corporation
Office 应用


The report created by the Readiness Report Creator uses macros and active content to display the information in the report. Therefore, to see the VBA macro compatibility and the add-in readiness information in the report, you need to allow macros and active content in Excel. If macros and active content aren't enabled in Excel, you see a Getting started message on the Overview worksheet when you open the report. On that page are instructions on how to enable macros and active content. This can be as simple as clicking Enable Content in the Message Bar.

In some cases, you might not see the Message Bar and the Enable Content choice. This is most likely because Excel is configured to disable all macros without notification. You can check this setting by going to File > Options > Trust Center > Trust Center Settings… > Macro Settings. There, in the Trust Center dialog box, you can change the setting to Disable all macros with notification. After you do that, choose OK to save the change and close the Trust Center dialog box, then choose OK to close the Excel Options dialog box, and then close the report file. When you open the report file again, you should see the Message Bar and the Enable Content choice.

If the macro settings choices are grayed out in the Trust Center dialog box, an administrator has configured these settings by using Group Policy and the settings can't be changed manually. In this case, the simplest solution is to open the report file on a different computer where the macro settings for Excel allow you to enable macros by selecting the Enable Content choice in the Message Bar.

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


If an add-in is classified as "Unknown" or "Insufficient data" this means that Microsoft doesn't yet have sufficient information regarding the add-in to provide a readiness status. If this is an add-in that is business critical for your organization, you can do the following:

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

  • Contact us at ReadyForOffice@microsoft.com. We'll do our best to add the readiness status of the add-in to our database. Please provide as much information about the add-in as possible including, but not limited to, the following:

    • 友好名称

    • 文件版本

    • 软件提供商

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

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

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

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

By sending an error report to Microsoft, you can help us improve the Readiness Toolkit. The error report sent to Microsoft doesn't contain any personally identifiable information. The following table provides a list of what information is sent to Microsoft in the error report.

已发送数据 说明
模块 发生错误的 VBA 模块。
Sub 过程/函数名称 出错的 Sub 过程或函数的名称。
行标识符 放置在最后成功执行的代码行开头的标识符。
错误消息 The user message normally output by the error. May be localized for some errors.
错误号 标识错误的号码。
源名称 The name of the object that raised the error. This is not the variable name.
工具版本 使用的 Readiness Toolkit 版本。
报告 GUID 为每个报告生成的 GUID,以帮助筛选重复错误。
会话 ID 创建报告时,会话 ID 可以帮助将该报告与 Readiness Toolkit 记录的任何错误关联起来。
Excel 版本 用于查看准备情况报告的 Excel 版本。