У меня есть макрос в VBA (Excel 2007).
Он открывает файл exe с вводом значения HEX в качестве переменной.
Exe дает выход (также номер HEX).
Я делаю все с командой «shell», и результаты сохраняются в txt-файле. Затем я пишу это в Excel.Получение вывода cmd в Excel
RetVal = Shell ("cmd.exe/с C: \ ААББ \ app.exe 0x5110> C: \ ААББ \ output.txt", vbNormalFocus)
Это сложный и трудоемкий.
Я бы предпочел получить результат непосредственно в Excel без промежуточного файла типа txt или подобного.
Когда я использую output.xlsx в качестве выходного адресата, файл создается и записывается значение. Но я не могу прочитать его с помощью Excel. Я вижу значение, когда открываю xlsx с помощью Блокнота.
Мои вопросы:
1) Можно ли записать результат непосредственно в XLSX, особенно клетки-мишени, например, A10
2) Почему, когда я использую xlsx в качестве назначения в команде оболочки, я не могу открыть его с помощью Excel? Он дает сообщение об ошибке «файл-формат или расширение файла недействительно. Данные могут быть повреждены».
Вы можете мне помочь? http://stackoverflow.com/questions/16240070/can-an-excel-macro-pull-output-from-a-command-line-directly-into-a-heet – Teknix1982
Когда вы используете «выход». xlsx "в качестве файла назначения, это не означает, что app.exe знает, как записать файл xlsx. Приложение должно поддерживать вывод в разных форматах, иначе оно всегда будет записывать значения в виде обычного текста независимо от того, какое расширение вы используете для адресата. –