Возврат результата внешнего скрипта в 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
это адрес сервера, на котором выполняется наш серверный скрипт.
sCmd = """" & pyPath & "python"" """ & getURLpath & "getURL.py"" --formula """ & _
Latex_Str & """ --fontsize " & Font_Size & " """ & WebAdd & """"
sResult = Shell(sCmd, vbNormalFocus)
Проблема в том, чтоShell
Команда возвращает только двухзначный PID процесса, который вы вызываете. Мне нужна фактическая строка, возвращенная из моего скрипта Python. Я могу изменить скрипт Python так, чтобы он возвращался так, как я хочу, но как мне передать его в VBA?
Кто-нибудь знает, как я могу получить этот результат в моей среде VBA?