Как script Сравнение таблиц Excel 2013?

Я пытаюсь включить новую фантастическую таблицу для сравнения с Excel 2013 Запросить надстройку в VBA script.

Планируется, что макрос будет автоматизировать сравнение двух таблиц с предопределенными именами и экспортировать все различия в виде новой электронной таблицы.

Без успеха, на сегодняшний день.

Вот что я пробовал до сих пор:

  • Обычно, чтобы узнать, как автоматизировать некоторые функции Excel, я использую макрос записи.
  • Если это не удается, я просматриваю список добавляемых ссылок, чтобы увидеть, не хватает ли я чего-то очевидного.

В этом случае оба из них потерпели неудачу. Никакой код не был уместен для сравнения электронных таблиц, когда я записал макрос (появился только периферийный материал, такой как сотовый выбор). И ни одна из добавочных ссылок не выглядела как сравнение с таблицами.

Итак, как я могу script Сравнение таблиц Excel 2013, от VBA?

Ответ 1

Я открыл аналогичный вопрос для автоматизации инструмента сравнения таблиц из приложения .NET, но я еще не нашел другого способа, кроме его выполнения, из командной строки, линия.

Вы можете сделать это из своей надстройки VBA. Все, что вам нужно, - найти исполняемый файл SPREADSHEETCOMPARE.EXE(обычно в C:\Program Files (x86)\Microsoft Office\Office15\DCF) и выполнить его в командной строке с файлом инструкции в качестве входного аргумента.

Этот файл инструкции должен быть файлом ASCII с двумя файлами Excel, чтобы сравнить их в отдельных строках.

Ответ 2

Вы не можете.

VBA не покрывает аддины, как в этом случае.

Сравнение таблиц - это сторонний плагин, который проглотил Microsoft.

Если вам нужен сценарий сравнения, вы можете найти те, которые делают для каждой ячейки, для каждой строки... вид вещи в сети.

Ответ 3

  • Создайте файл 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
    
  • В C:\reportNames.txt сохраните в той же строке файлы .xlsx, которые вы хотите сравнить:

    C:\fileA.xlsx C:\fileB.xlsx
    
  • Выполнить runCompare.cmd.