一、OFFICE中利用SOAP集成翻译
工作中经常要用到翻译功能,GOOGLE 和bing都提供了翻译接口,但目前GOOGLE已经关闭了免费的API服务,而微软的BING则继续提供每月200万字符的免费接口,bing翻译提供三种方式,http模式、ajax模式和soap模式,其中soap模式简单方便,重要的是,它几乎不受要翻译文字长短限制,不像前2种方式收到浏览器网址长度限制导致要翻译的文字有长度限制,今天讨论如何在OFFICE中利用SOAP集成翻译,首先要下载工具(文末附下载地址及源码)
Microsoft Office 2003 Web Services Toolkit 2.01
安装完毕,后打开word>> 工具>>宏>>Visual Basic编辑器>>工具>>WEB服务引用
输入web服务地址: http://api.microsofttranslator.com/V2/Soap.svc ,搜索得到上图右侧结果,点添加后,系统自动生成代码如下图所示,其中包含了WebService对应的代理类和相关的实体类,还有一个工厂类。
接下来,插入一个用户窗体,拖出控件箱,拖2个文本框和一个按钮,分别为textbox1 textbox2 CommandButton1
双击按钮,输入以下代码
Private Sub CommandButton1_Click()
Dim obingTranslate As New clsws_SoapService
TextBox2.Text = obingTranslate.wsm_Translate(“你申请的APPID”, TextBox1.Text, "zh-CHS", "en", "text/plain", "general")
End Sub
我这里是将textbox1中的中文翻译成英文在textbox2中显示,
运行后,在textbox1中输入中文,点翻译按钮,结果如textbox2所示。
怎么样,够简单吧!还可以进一步创建一个过程将宏添加到word工具栏上,可以直接翻译打开的word文档,暂且不做示范了。