我试图从Word 2011 for Mac中的VBA宏启动一个shell脚本,该脚本将在终端窗口中运行.我尝试过使用Shell函数和MacScript函数,但在任何一种情况下,VBA解释器似乎都无法找到该脚本.
根据VBA参考文档,以下内容应该有效:
RetVal = Shell("Macintosh HD:Applications:Calculator.app", vbNormalFocus)
Run Code Online (Sandbox Code Playgroud)
这会产生运行时错误53'找不到文件'.
有什么建议?
我在Windows上的Excel下运行了一些方便的Excel加载项,我真的想生成可以在OS X上使用Excel的加载项版本.在Windows下我使用了很棒的Excel-DNA包来允许我调用来自VBA的基于.Net的逻辑.然而,在我的Mac上,我甚至在编写,打包,部署然后调用基于C#或F#的加载项时都很难找到起点.
或者是否有一些非VBA我可以重写我的加载项,以便它们可以在Windows和OSX上运行?我对Scala,Python或其他能够提供所需移植性的东西持开放态度.
我可以在2011年看到这里的帖子,所以我写的是希望自2011年最后一次查询以来事情已经取得了进展.
我正在编写一个非常简单的宏,需要向服务器发出 HTTP GET 请求并且响应并不重要(它在服务器上启动一个进程)。HTTP GET 不需要身份验证。
我正在使用以下代码“成功”执行此操作(服务器日志表明请求已发送到服务器,但服务器正在运行 HTTP 406):
Function callAPI(Url As String)
With ActiveSheet.QueryTables.Add(Connection:="URL;" & Url, Destination:=Range("D15"))
.PostText = ""
.RefreshStyle = xlOverwriteCells
.SaveData = True
.Refresh
End With
End Function
Run Code Online (Sandbox Code Playgroud)
但我从服务器得到以下响应:
Unable to open http://someurl.com Cannot locate the Internet server or proxy server.
Run Code Online (Sandbox Code Playgroud)
我可以看到服务器返回一个 HTTP 406,经过一些研究,因为 GET 请求没有发送正确的Content-Type标头。
所以我的问题是 - 如何告诉ActiveSheet.QueryTables.Add设置标头,或者如何修改我的 NGINX 配置以支持这个特定的 GET CALL
我正在尝试移植我们在Windows上使用MS Word工作的宏,该宏使用网站生成方程图像并返回该图像以插入到文档中.当前(在Windows上工作)调用如下.当我在OSX中使用相同的调用时,我收到错误429,指出"ActiveX组件无法创建对象".
' Create an xmlhttp object.
Set w_page = CreateObject("Microsoft.XMLHTTP")
' Open the connection to the remote server.
w_page.Open "POST", WebAdd, False
' Indicate that the body of the request contains form data
w_page.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
' Actually send the request and return the data:
Font_Size = ComboFontSize.Value
w_page.Send "formula=" & Font_Size & "." & Latex_Str
Run Code Online (Sandbox Code Playgroud)
在Set w_page = CreateObject("Microsoft.XMLHTTP")语句上生成错误.我尝试了几种替代方法,例如:
Set w_page = CreateObject("MSXML2.ServerXMLHTTP")
Run Code Online (Sandbox Code Playgroud)
和
Set w_page = CreateObject("WinHttp.WinHttpRequest.5.1")
Run Code Online (Sandbox Code Playgroud)
但是会产生相同的错误.请帮我找到在OSX Word 2011中发送POST的正确方法.
对于任何感兴趣的人,该项目可在GitHub上获得.
非常感谢!
编辑 …