15

我正在尝试将Excel 2013 的 Inquire Add-in 中花哨的新电子表格比较功能合并到 VBA 脚本中。

计划是有一个宏来自动比较具有预定义名称的两个电子表格,并将所有差异导出为新电子表格。

迄今为止,没有成功。

这是我到目前为止所尝试的:

  1. 通常,为了学习如何自动化一些 Excel 功能,我使用 Record Macro。
  2. 如果失败了,我会查看可添加引用的列表,看看我是否遗漏了一些明显的东西。

在这种情况下,这两个都失败了。当我录制一个宏时,没有出现与电子表格比较相关的代码(只出现了像单元格选择这样的外围东西)。并且没有任何可添加的引用看起来像电子表格比较。

那么如何从 VBA 编写 Excel 的 2013 电子表格比较脚本?

4

3 回答 3

3

我打开了一个类似的问题,用于从 .NET 应用程序自动化电子表格比较工具,但除了从命令行执行它之外,我还没有找到任何其他方法。

您可以从您的 VBA 加载项中执行此操作。您只需找到可执行文件 SPREADSHEETCOMPARE.EXE(通常在 C:\Program Files (x86)\Microsoft Office\Office15\DCF 中)并在命令行中使用指令文件作为输入参数执行它。

该指令文件必须是一个 ASCII 文件,两个 Excel 文件路径以单独的行进行比较。

于 2014-06-24T08:11:16.503 回答
1

你不能。

VBA 不包括在这种情况下的插件。

电子表格比较是被微软吞并的第 3 方插件。

如果您需要可编写脚本的比较,您可以在网上找到对每个单元格、每一行执行的比较……这类事情。

于 2012-12-17T13:59:44.363 回答
0
  1. 创建一个 runCompare.cmd 文件:

    REM Execute from command line spreadsheetcompare.exe 
    REM 
    cd C:\Program Files (x86)\Microsoft Office 2013\Office15\DCF
    spreadsheetcompare.exe  C:\reportNames.txt
    
  2. 在 C:\reportNames.txt 中,将要比较的 .xlsx 文件保存在同一行中:

    C:\fileA.xlsx C:\fileB.xlsx
    
  3. 执行 runCompare.cmd。

于 2016-03-10T00:17:07.577 回答