长话短说,作为测试,我正在将数据从一个单元格读入一个例程,将非英语单词/符号发送给Microsoft翻译。返回后,它将结果写入单独的单元格中。不幸的是,因为我在处理XMLHTTP时缺乏经验,所以我正在努力解决这个问题。
简单的香草短缺它。现在这是长版本。我希望我说得够清楚。请原谅我,但请记住我是VBA这方面的新手......
我试图利用微软开发并由一个名叫Patrick O' Beirne的人编辑的例程,因为微软处理令牌的方式已经发生了变化...... Patricks代码在这里:{{3 }}
长版...... 我希望将中文数据加载到使用MSXML2.XMLHTTP的例程中,以便在Microsoft上进行GET翻译。
此例程适用于西班牙语或法语单词,但为中文符号吐出问号。这可能与中文符号是双字节(?)...
有关这是代码。我一直追踪到MSHttpRequest函数。看起来它将数据加载到oH中,但当它返回到oH.ResponseText时,符号会发生变化。这纯粹是我的猜测。
无论如何,我的目标是将中文符号发送到Microsoft的翻译服务器并以英文返回。
Function MSHttpRequest(sRequest As String) As String
Dim sURL As String, oH As MSXML2.XMLHTTP, sToken As String
sURL = "http://api.microsofttranslator.com/V2/Http.svc/" & sRequest
sToken = GetAccessToken()
Set oH = CreateObject("MSXML2.XMLHTTP")
oH.Open "GET", sURL, False
oH.setRequestHeader "Authorization", "Bearer " & sToken
oH.send
MSHttpRequest = oH.responseText
Set oH = Nothing
End Function
感谢任何帮助。
谢谢, 史蒂夫
答案 0 :(得分:0)
有点晚,但我现在才发现这一点。我就是那个人;-) 我现在更新了代码以处理UTF-8,请参阅
上的帖子https://sysmod.wordpress.com/2012/01/09/microsoft-translator-vba-code-sample/
请链接到帖子而不是.bas文件,因为文件名可能会更改。
答案 1 :(得分:0)
发布回答很晚,但可能就是这样。
您需要更改Windows中的语言设置,以便VBA可以访问您正在使用的语言。
按照下面的说明(注册表部分除外),你应该没问题。