如何脚本Excel 2013的电子表格比较?

我正在尝试将Excel 2013的“查询外接程序”中新奇的“ 电子表格比较”function合并到VBA脚本中。

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

没有成功,迄今为止。

以下是我迄今为止所尝试的:

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

在这种情况下,这两个都失败了。 没有代码出现与电子表格比较相关,当我logging一个macros(只有外围的东西像细胞select出现)。 并没有可加参考看起来像电子表格比较。

那么我怎样才能从VBA脚本Excel的2013电子表格比较?

我打开了一个类似的问题,用于自动化.NET应用程序中的电子表格比较工具,但是我还没有发现任何其他方式,而不是从命令行执行它。

您可以从您的VBA加载项中执行此操作。 您只需要find可执行文件SPREADSHEETCOMPARE.EXE(通常位于C:\ Program Files(x86)\ Microsoft Office \ Office15 \ DCF)中,并使用指令文件作为input参数在命令行中执行该文件。

这个指令文件必须是一个ASCII文件,两个Excel文件path要在不同的行中进行比较。

你不能。

VBA不包括在这种情况下添加。

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

如果你需要脚本比较,你可以find那些每个单元格,每行…在networking上的东西。

  1. 创build一个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。