Возврат результата внешнего скрипта в VBA
=========================================

Я работаю над переносом макроса, который у нас работает в MS Word для Windows, на OSX. Макрос позволяет пользователю генерировать уравнения, используя LaTeX в Word, и должен сделать POST-запрос к серверу и вернуть результат. Это прекрасно работает в Windows с`Microsoft.XMLHTTP` объект, но в OSX нет эквивалента.

Чтобы обойти это, я создал скрипт Python, который использует`urllib` а также`urllib2` для обработки запроса, и позволяет мне отправлять мою строку LaTeX и веб-адрес в качестве входных аргументов, используя`argparse`, Этот скрипт делает то, что мне нужно, и возвращает результат веб-запроса в виде строки.

Мне нужна эта строка в VBA.

Мой текущий вызов VBA выглядит примерно так:`pyPath` а также`getURLpath` статичны,`Latex_Str` а также`Font_Size` генерируются пользовательским вводом и`WebAdd` это адрес сервера, на котором выполняется наш серверный скрипт.

Проблема в том, что`Shell` Команда возвращает только двухзначный PID процесса, который вы вызываете. Мне нужна фактическая строка, возвращенная из моего скрипта Python. Я могу изменить скрипт Python так, чтобы он возвращался так, как я хочу, но как мне передать его в VBA?

Кто-нибудь знает, как я могу получить этот результат в моей среде VBA?

Я получил это работает!  
  
Я смог вызвать мой скрипт на Python, используя`result = MacScript(command)` функция, где я определил мой`command` в дальнейшем:

Мой скрипт на Python называется`getURL.py`и обрабатывает запрос к серверу на основе необязательных аргументов`--formula` а также`--fontsize` определяется пользователем и хранится в VBA как`Latex_Str` а также`Font_Size` соответственно и веб адрес сервера`WebAdd`, Я также добавил некоторые функции в мой скрипт Python для обработки параметров прокси-сервера. Вышеуказанная команда прошла через`MacScript` возвращает стандартный вывод скрипта Python, который является возвращением с сервера. Сценарий Python выглядит следующим образом:

Если кому-то интересно, полный код будет доступен на[страница проекта](https://github.com/Engineero/latex_in_word) как только я закончу исправление пары дополнительных ошибок и их тестирование. (Рабочая) версия Windows уже там.