Запуск скрипта Python с использованием Outlook VBA

Я пытаюсь запустить скрипт Python с помощью Outlook Vba. Когда я запускаю приведенный ниже код. Значок питона появляется на панели задач на секунду и исчезает. Когда на самом деле он должен открыть диалоговое окно и предложить мне ввести имя папки. После чего он должен запустить остальную часть скрипта, как обычно.

Пожалуйста, помогите мне запустить этот скрипт из Outlook, как я обычно это делаю, дважды щелкнув файл .py.

Sub runpythonscript()

Dim Path As String

Path = "python C:\Doc Management\Exstream_Reconciliation.py"

Shell(Path)

End Sub
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
57
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

VBA (ни Outlook) не предоставляют ничего для отладки таких случаев. Лучшее, что вы могли бы сделать, это добавить операторы журнала в скрипт Python, где вы могли бы выводить все, что происходит в коде. Анализируя лог-файлы, вы сможете понять причину проблемы.

У вас есть пробел в имени файла. Это должно быть процитировано.

Я тоже так пробовал. Это не работает.

syed 20.10.2022 21:57

Какой у вас последний код? Работает ли это, если запустить ту же команду из командной строки?

Dmitry Streblechenko 20.10.2022 22:41

Он запускается, когда я использую - start filename.py. Знаете ли вы код для запуска этого файла в командной строке из Outlook?

syed 25.10.2022 12:23

Я также могу открыть cmd из Outlook. Но я не знаю, как давать команды для изменения каталога и запуска этого файла .py из Outlook. Любая помощь могла бы быть полезна.

syed 25.10.2022 12:48

Выполняется ли следующее из командной строки python "C:\Doc Management\Exstream_Reconciliation.py"

Dmitry Streblechenko 25.10.2022 23:13

Хорошо, инструмент запустился и предложил мне ввести имя папки. Когда я это сделал, он выдал ошибку вместо того, чтобы работать, как обычно. Пишет: «Системе не удается найти указанный путь. Убедитесь, что папка настроена правильно». И куча других вещей.

syed 26.10.2022 15:56

Я попытался изменить каталог, где находится путь, но все равно выдавал ту же ошибку.

syed 26.10.2022 15:58

Эта ошибка возникла из-за Windows или из-за вашего скрипта?

Dmitry Streblechenko 26.10.2022 18:10

Хорошо, я думаю, что это было из моего сценария. Я думаю, что у меня не было моей папки в пути.

syed 27.10.2022 11:00

Я снова запустил ваш запрос. Он работает нормально. Пожалуйста, дайте мне знать, если вы знаете, как инициировать это из Outlook.

syed 27.10.2022 11:13

Так что же изменилось в Outlook?

Dmitry Streblechenko 27.10.2022 23:17

Он не запускается из Outlook. Он показывает значок python на панели задач и исчезает через секунду, когда я запускаю код.

syed 28.10.2022 13:00

Я имею в виду, командная строка точно такая же? Вы включили цитаты? Они сбежали?

Dmitry Streblechenko 28.10.2022 18:17

Да, командная строка такая же, как указано в пространстве кода в начале. Я попытался использовать три кавычки, так как в нем есть место. Это не сработало.

syed 31.10.2022 16:58
Ответ принят как подходящий

Хорошо, это решение для тех, кто ищет

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

Другие вопросы по теме