我正在尝试将Excel 2013的“查询加载项”中花哨的新Spreadsheet Compare函数合并到VBA脚本中。
计划是使用宏来自动比较具有预定义名称的两个电子表格,并将所有差异导出为新的电子表格。
迄今没有成功。
这是我到目前为止所尝试的内容:
在这种情况下,这两个都失败了。当我录制一个宏(只出现像cell-select这样的外围设备)时,没有任何代码与电子表格比较相关。并且没有一个可添加的引用看起来像Spreadsheet Compare。
那么如何从VBA编写Excel的2013年电子表格比较脚本?
答案 0 :(得分:3)
我打开了一个similar question来自动化.NET应用程序中的Spreadsheet Compare工具,但我还没有找到任何其他方法,而不是从命令行执行它。
您可以从VBA加载项执行此操作。您所需要的只是找到可执行文件SPREADSHEETCOMPARE.EXE(通常在C:\ Program Files(x86)\ Microsoft Office \ Office15 \ DCF中)并在命令行中使用指令文件作为输入参数执行它。
此指令文件必须是一个ASCII文件,其中两个Excel文件路径将在不同的行中进行比较。
答案 1 :(得分:1)
你不能。
在这种情况下,VBA不包括add'ins。
Spreadsheet compare是第三方插件,被微软吞噬。
如果您需要可编写脚本的比较,您可以找到针对每个单元格执行的操作,对于每一行...都可以在网上查找。
答案 2 :(得分:1)
创建一个runCompare.cmd文件:
total_score(Hero, Score):-
aggregate_all( sum(Points),
( defeated(Hero, Monster),
score(Monster, Points)),
Score).
在C:\ reportNames.txt中,将要比较的.xlsx文件保存在同一行:
REM Execute from command line spreadsheetcompare.exe
REM
cd C:\Program Files (x86)\Microsoft Office 2013\Office15\DCF
spreadsheetcompare.exe C:\reportNames.txt
执行runCompare.cmd。