У меня есть сгенерированный Matlab исполняемый файл, Myfile.exe для вызова из excel-vba . Я узнал (Shell Function) это то, что мне нужно использовать.
Я не хочу включать полный путь к файлу, так как я не хочу ограничивать пользователя определенной папкой в определенном месте на каждом компьютере.
У меня есть следующий код для вызова исполняемого файла, который отлично работает:
Sub MyExe()
On Error Resume Next
Shell ("C:\Users\elwany\Desktop\Myfolder\Myfile.exe")
If Err <> 0 Then
MsgBox "Can't start the application.", vbCritical, "Error"
End If
End Sub
Моя проблема / вопрос
Я помещаю исполняемый файл + файл Excel с проектом VBA в ту же папку (Myfolder), а затем изменяю код на:
Sub MyExe()
On Error Resume Next
Shell ("Myfile.exe")
If Err <> 0 Then
MsgBox "Can't start the application.", vbCritical, "Error"
End If
End Sub
Иногда это работает, иногда нет!
Например, вчера я запускал код VBA, он работал. Сегодня я открыл тот же файл Excel, ту же папку, все то же самое, он выдает ошибку «Не удается запустить приложение» msg !!
- Разве нельзя удалить путь к файлу, даже если у меня все в одной папке?
- Почему это иногда работает, иногда нет?
- Обязательно ли добавление пути к файлу?