ExcelVBA调用百度翻译API.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EExxcceellVVBBAA调调⽤⽤百百度度翻翻译译AAPPII 有同事找我处理Excel中译英,本来Excel有 ⾃带的翻译 具,⽆奈公司限制太多,这些东西都⽤不了。想了⼀下,试试调⽤百度翻译API来做⼀个 翻译。 由于限制太多,确定使⽤Excel VBA + VBS的模式去处理这个问题。 百度翻译API 根据⽂档要求先去获取API下来的内容 Public Function getHttp(q As String) As String 调⽤API (new) Dim HttpReq As Object Dim url As String Dim q_ enco e As String Dim sign As String q_ enco e = Application.WorksheetFunction.Enco eURL(q) sign = MD5_32(appi + q + salt + mykey) Set HttpReq = CreateObject(Microsoft.XMLHTTP) 创建XMLHTTP对象 url = http://api.fanyi.bai /api/trans/vip/translate?q= q_ enco e from=zhto=enappi = appi salt= salt sign= sign Debug.Print (url) With HttpReq .Open GET, url, False .setRequestHea er content-type, application/x-www-form-urlenco e .SEND Debug.Print .responsetext En With getHttp = url getHttp = HttpReq .responsetext En Function 获取的内容变成⽂本了,古⽼的VBA并没有直接处理Json的。有很多种⽅案,例如⽤JS去处理JSon,但是因为怕那获取公司最后⼜不⽀持,选⽤ 了VBS⽤正则表达式去分析下来的⽂本内容。 Public Function DstToTranslate(j As String) As String Dim reg As Object Set reg = CreateObject(vbscript.regexp) Dim str As String Dim match As Object Dim matches As Object Dim k As String str = getHttp(j) reg.Global = True reg.Pattern = st\:([^]*) Set matches = reg.Execute(str) For Each match In matches k = match Next str = k reg.Pattern = st\: k = reg.Replace(str, ) DstToTranslate = k En Function 那么在Excel中直接调⽤ DstToTranslate(string) 就可以直接得出结果了。 中途碰到各种⼩问题,例如URL的格式不对,忘了算成MD5合成sign,正则表达式写错了不出结果。之后有时间在修整把代码备注和⽂档还有图 补上。

文档评论(0)

duantoufa005 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档