Как составить скрипт сравнения таблиц Excel 2013?
Я пытаюсь включить новую необычную функцию сравнения электронных таблиц из надстройки Inquire в Excel 2013 в сценарий VBA.
План состоит в том, чтобы иметь макрос для автоматизации сравнения двух электронных таблиц с заранее заданными именами и экспортировать все различия в новую электронную таблицу.
Без успеха на сегодняшний день.
Вот что я пробовал до сих пор:
- Обычно, чтобы узнать, как автоматизировать некоторые функции Excel, я использую Record Macro.
- Если это не удается, я просматриваю список добавляемых ссылок, чтобы увидеть, не упустил ли я что-то очевидное.
Оба из них потерпели неудачу в этом случае. Когда я записал макрос, не появилось никакого кода, относящегося к Spreadsheet Compare (только периферийные устройства, такие как cell-select). И ни одна из добавляемых ссылок не выглядела как Spreadsheet Compare.
Итак, как мне написать скрипт сравнения таблиц Excel в VBA 2013 года?
3 ответа
Я открыл аналогичный вопрос для автоматизации инструмента сравнения электронных таблиц из приложения.NET, но я не нашел другого способа, кроме как запустить его из командной строки.
Вы можете сделать это из вашей надстройки VBA. Все, что вам нужно, это найти исполняемый файл SPREADSHEETCOMPARE.EXE (обычно в C:\Program Files (x86)\Microsoft Office\Office15\DCF) и выполнить его в командной строке с файлом инструкций в качестве входного аргумента.
Этот файл инструкций должен быть файлом ASCII с двумя путями к файлам Excel для сравнения, записанными в отдельных строках.
Создайте файл 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.
Ты не можешь
VBA не распространяется на дополнения, как в этом случае.
Сравнение таблиц - это сторонний плагин, который проглотил Microsoft.
Если вам нужно сравнение с помощью сценариев, вы можете найти те, которые подходят для каждой ячейки, для каждой строки... что-то в сети.