我正在努力将我们在MS Word for Windows中工作的宏移植到OSX。宏允许用户使用Word中的LaTeX生成方程式,并且必须向服务器发出POST请求并返回结果。这在Windows中使用Microsoft.XMLHTTP
对象可以正常工作,但在OSX中似乎没有等效的。
为了解决这个问题,我创建了一个使用urllib
和urllib2
来处理请求的Python脚本,并允许我使用{{1}将我的LaTeX字符串和Web地址作为输入参数发送}}。此脚本执行我需要的操作,并将Web查询的结果作为字符串返回。
我在VBA中需要这个字符串。
我当前的VBA呼叫类似于以下内容,其中argparse
和pyPath
是静态的,getURLpath
和Latex_Str
是由用户输入生成的,{{1} }是运行我们的服务器端脚本的服务器的地址。
Font_Size
问题是WebAdd
命令只返回您正在调用的进程的双值PID。我需要从我的Python脚本返回的实际字符串。我可以修改Python脚本以返回我想要的但是如何将其输入VBA?
有人知道如何将此结果导入我的VBA环境吗?
答案 0 :(得分:2)
从问题中提取答案:
我开始工作了!
我能够使用result = MacScript(command)
函数调用我的Python脚本,我将command
定义为:{/ p>
command = "do shell script """ & pyPath & "python " & getURLpath & "getURL.py --formula '" _
& Latex_Str & "' --fontsize " & Font_Size & " " & WebAdd & """"
我的Python脚本名为getURL.py
,并根据用户定义的可选参数--formula
和--fontsize
处理对服务器的请求,并以{{1}的形式存储在VBA中}和Latex_Str
分别和服务器Font_Size
的网址。我还在Python脚本中添加了一些功能来处理传递代理设置。传递WebAdd
的上述命令返回Python脚本的stdout,它是服务器的返回。 Python脚本如下:
MacScript
如果有人好奇,一旦我修复了一些额外的错误并对其进行测试,完整的代码将在project page上提供。 (工作)Windows版本已经存在。