Как программировать в excel VBA для запуска внешней программы, когда внешняя программа может выводить данные, собранные в файл? Моя внешняя программа, напряжение.exe, при нормальной работе (дважды щелкните программу на экране рабочего стола) выведет данные, собранные в файл data.txt. Однако при запуске с моим кодом ниже файл data.txt не создавался.Как запустить файл .exe с созданием файла?
Sub Button1_Click() ' run logger
Dim path As String
path = ActiveWorkbook.path
path = path + "\Voltage Recording.exe"
retval = Shell(path, vbNormalFocus)
End Sub
Think ваша программа будет запущена с текущий рабочий каталог вызывающего абонента, в данном случае Excell. Я не уверен, что команда Shell установила CWD в путь рабочей книги, вы можете использовать «Shell (« c: \ windows \ system32 \ cmd.exe », vbNormalFocus)», чтобы увидеть, где запущена оболочка, и подтвердить, что ваш файл был создан там например. – Tensibai
'Shell' не ждет завершения вызова вызываемой программы перед возвратом. «Data.txt» никогда не создавался или просто не был к тому времени, когда ваш макрос пытается его прочитать? –
@TonyDallimore data.txt никогда не создавался. – Deckdyl