Я пытаюсь запустить скрипт Python с помощью Outlook Vba. Когда я запускаю приведенный ниже код. Значок питона появляется на панели задач на секунду и исчезает. Когда на самом деле он должен открыть диалоговое окно и предложить мне ввести имя папки. После чего он должен запустить остальную часть скрипта, как обычно.
Пожалуйста, помогите мне запустить этот скрипт из Outlook, как я обычно это делаю, дважды щелкнув файл .py.
Sub runpythonscript()
Dim Path As String
Path = "python C:\Doc Management\Exstream_Reconciliation.py"
Shell(Path)
End Sub






VBA (ни Outlook) не предоставляют ничего для отладки таких случаев. Лучшее, что вы могли бы сделать, это добавить операторы журнала в скрипт Python, где вы могли бы выводить все, что происходит в коде. Анализируя лог-файлы, вы сможете понять причину проблемы.
У вас есть пробел в имени файла. Это должно быть процитировано.
Какой у вас последний код? Работает ли это, если запустить ту же команду из командной строки?
Он запускается, когда я использую - start filename.py. Знаете ли вы код для запуска этого файла в командной строке из Outlook?
Я также могу открыть cmd из Outlook. Но я не знаю, как давать команды для изменения каталога и запуска этого файла .py из Outlook. Любая помощь могла бы быть полезна.
Выполняется ли следующее из командной строки python "C:\Doc Management\Exstream_Reconciliation.py"
Хорошо, инструмент запустился и предложил мне ввести имя папки. Когда я это сделал, он выдал ошибку вместо того, чтобы работать, как обычно. Пишет: «Системе не удается найти указанный путь. Убедитесь, что папка настроена правильно». И куча других вещей.
Я попытался изменить каталог, где находится путь, но все равно выдавал ту же ошибку.
Эта ошибка возникла из-за Windows или из-за вашего скрипта?
Хорошо, я думаю, что это было из моего сценария. Я думаю, что у меня не было моей папки в пути.
Я снова запустил ваш запрос. Он работает нормально. Пожалуйста, дайте мне знать, если вы знаете, как инициировать это из Outlook.
Так что же изменилось в Outlook?
Он не запускается из Outlook. Он показывает значок python на панели задач и исчезает через секунду, когда я запускаю код.
Я имею в виду, командная строка точно такая же? Вы включили цитаты? Они сбежали?
Да, командная строка такая же, как указано в пространстве кода в начале. Я попытался использовать три кавычки, так как в нем есть место. Это не сработало.
Хорошо, это решение для тех, кто ищет
Sub RunPyFileFromMacroViaCmd()
Dim Path As String
Dim filepath As String
filepath = """C:\Doc Management\Exstream_Reconciliation.py"""
Path = "cmd /k" & filepath
Shell (Path)
End Sub
Я тоже так пробовал. Это не работает.