从VBA中打开电子表格比较表,以进行比较

时间:2019-05-17 16:50:32

标签: excel vba

我有一个自动化的工具,该工具可以从一个文件中创建多个电子表格,该过程的下一个附加功能是使用Spreadsheet Compare来获取所创建的两个文件之间的差异,导出结果,然后修改格式的结果表。我有打开电子表格比较的代码,但是我不知道如何正确地将表格的文件位置提供给它。

基于this linkthis link,尝试设置两个具有位置的变量,并将它们连接到一个变量中以输入shell(),然后将两个变量都添加到shell()中,但均不起作用。我可以说它正在影响文件加载,因为我从Spreadsheet Compare中给我一个错误,上面写着“请指定要比较的2个文件”,当我只打开应用程序而不尝试提供文件时,它并没有出现。
根据FreeMan的建议,这是我尝试过的格式;

-C:\ file1.xlsx C:\ file2.xlsx
-“ C:\ file1.xlsx C:\ file2.xlsx”
-“ C:\ file1.xlsx”“ C:\ file2.xlsx”
-'C:\ file1.xlsx C:\ file2.xlsx'
-'C:\ file1.xlsx''C:\ file2.xlsx'
-[C:\ file1.xlsx C:\ file2.xlsx]
-[C:\ file1.xlsx] [C:\ file2.xlsx]
-(C:\ file1.xlsx C:\ file2.xlsx)
-(C:\ file1.xlsx)(C:\ file2.xlsx)
-将以上所有内容合并为一个变量(第一种方法)
-以上所有内容均在2个变量之间分割(第二种方法)
-以上全部来自运行
-以上所有操作均使用.txt文件作为文件位置

Sub tCompare()
Dim strRoboappPath As String, varProc As Variant
Dim strArg As String
Dim var1 As String
Dim var2 As String
var1 = "C:\file1.xlsx"
var2 = "C:\file2.xlsx"

On Error Resume Next

strRoboappPath = "C:\Program Files (x86)\Microsoft Office\Office15\DCF\SPREADSHEETCOMPARE.exe"
strArg = var1 + " " + var2

varProc = Shell("""" & strRoboappPath & """ """ & strArg & """") 'first method
varProc = Shell("""" & strRoboappPath & """ """ & var1 & """ """ & var2 & """") 'second method

End Sub

我要查找“电子表格比较”以打开已加载的两个文件。

0 个答案:

没有答案