У меня есть файл Excel с кнопкой, которая вызывает команду Shell в VB:
Shell(ThisWorkbook.Path & "\python_script.bat", vbNormalFocus)
Команда Shell вызывает вышеуказанный командный файл, который запускает скрипт Python:
python python_script.py
Все соответствующие файлы (файл Excel, командный файл, файлы данных, файл Python) все находятся в одном каталоге, назовите это sample_program
, потому что я создаю это для кого-то другого, и я намерен для их просто разархивировать и запустить.
В Excel при тестировании я нажимаю кнопку и получаю эту ошибку:
C:\Users\<user_name>\Documents>python python_script.py
python: can't open file 'python_script.py': [Errno 2] No such file or directory
По какой-то причине, хотя все эти файлы находятся в одном месте, cmd.exe запускается из моего каталога пользователя: C:\Users\<user_name>\Documents
Я не хочу, чтобы cmd.exe использовал этот путь; Я хочу использовать каталог path\to\sample_program
.
Как заставить это использовать относительные пути, чтобы, когда я передаю эту папку кому-то другому, и они помещают ее в любое место, она будет работать как автономное устройство?