相关文章推荐

某些时候我们需要使用翻译软件来进行翻译,比较常见的有灵格斯翻译、有道翻译、百度翻译等。可以选择在线翻译,也可以使用软件进行翻译。虽然现在都是机翻,毕竟人工翻译的价格在那,一个字就要最低0.11元(有道翻译价格)。而且平时翻译用的也不多,也只是需要知道个大概的意思就行了,所以机翻也其实有95%以上的准确率了,够用了。但如果遇到excel中存在大量需要翻译的单元格呢?不能总是一个一个复制过去,又再粘帖结果回来吧。这时候,一行简单的代码,就可以帮助我们实现相应的要求。先看一个GIF动图的演示,词语也算比较简单的:
可以看到,非常之快,极速之间则完成了相应的翻译了。支持中英互译。
这一切,都源自于单元格中的函数代码为:

=FILTERXML(WEBSERVICE("http://fanyi.youdao.com/translate?&i="&A1&"&doctype=xml&version"),"//translation")


其中调用了三个函数或者接口: 一、 FILTERXML函数
FILTERXML函数为使用指定的 XPath 从 XML 内容返回特定数据。
语法:FILTERXML(xml, xpath)
FILTERXML 函数语法具有下列参数。
config.xml 必需。 有效 XML 格式的字符串。
Xpath 必需。 标准 XPath 格式中的字符串。
在我们这里使用的函数中,config.xml 就是嵌套了WEBSERVICE函数的如下字段:WEBSERVICE(“http://fanyi.youdao.com/translate?&i=”&A1&”&doctype=xml&version”)
Xpath就是//translation 二、WEBSERVIC函数
WEBSERVIC函数为返回 Intranet 或 Internet 上的 Web 服务数据。大多数情况下是不安全的,会提出安全警告,所以要忽视或者容许运行。
语法:WEBSERVICE(url)
WEBSERVICE 函数语法具有下列参数。
Url 必需。 Web 服务的 URL。
备注
如果参数无法返回数据,则 WEBSERVICE 返回错误值 #VALUE!。
如果参数导致字符串无效或含有的字符超过允许的单元格限制(32767 个字符),则 WEBSERVICE 返回错误值 #VALUE!。
如果 url 字符串所含字符超过 GET 请求允许的 2048 个字符,则 WEBSERVICE 返回错误值 #VALUE!。
对于不支持的协议,例如 ftp :// 或 file://,WEBSERVICE 返回 #VALUE! 错误值。 三、有道翻译在线接口:
有道翻译并没有直接提供在线的接口,这个接口应该是以前留下的,或者并网友发现的。http://fanyi.youdao.com/translate?&i=”&A1&”&doctype=xml&version
这段代码的含义是,使用有道翻译的接口,将A1单元格中的文字翻译后,并提供xml格式。正常情况下,网页上返回的结果是:

This XML file does not appear to have any style information associated with it. The document tree is shown below. <response type="EN2ZH_CN" errorCode="0" elapsedTime="1"> <input> <![CDATA[ administrator ]]> </input> <translation> <![CDATA[ 管理员 ]]> </translation> </response>

那么通过Xpath //translation 的位置,可以定义到CDATA 管理员字段,则把该字段提取,返回特定值到数据到B1单元格中。
如果我们使用input来定义,那么返回的值就是输入值了。
这个函数代码的使用还有前提:

  • Excel的版本在2013以上
  • 连接了互联网
  • 有道翻译没有禁用这个接口

是不是比较实用的一个功能代码?

一行代码实现Microsoft.Office.EXCEL的自动翻译功能​www.iappi.cn 某些时候我们需要使用翻译软件来进行翻译,比较常见的有灵格斯翻译、有道翻译、百度翻译等。可以选择在线翻译,也可以使用软件进行翻译。虽然现在都是机翻,毕竟人工翻译的价格在那,一个字就要最低0.11元(有道翻译价格)。而且平时翻译用的也不多,也只是需要知道个大概的意思就行了,所以机翻也其实有95%以上的准确率了,够用了。但如果遇到excel中存在大量需要翻译的单元格呢?不能总是一个一个复制过去,又再粘帖... =FILTERXML( WEBSERVICE ("http://fanyi.youdao.com/translate?&i="&A2&"&doctype=xml&version"),"//translation") 然后向下填充,即可将A列中的文字 翻译 成英文。 记得将A2换成你自己的。。。 原理:FILTERXML函数 这里我们使用了 Excel 中的网络类函数FILTERXML,这是 Excel 2013版本之后新增的一个
通过 EXCEL 中的FILTERXML函数 实现 批量 翻译 使用FILTERXML函数和在线 翻译 实现 EXCEL 批量 翻译 FILTERXML语法WEBSERVE语法举例说明使用步骤1.确定网址,这边使用有道云的网址2.将网站 翻译 输出格式转为xml格式3.在网站中找到当前需要提取的中文的路径4.函数整合 使用FILTERXML函数和在线 翻译 实现 EXCEL 批量 翻译 利用FILTERXML函数提取XML数据( 翻译 网站转换而来)中的字段值 FILTERXML 函数使用指定的 xpath 从 XML 内容返回特定数据。 =FILTERXML( WEBSERVICE ("http://fanyi.youdao.com/translate?&i="&A1&"&doctype=xml&version"),"//translation") 函数解析: 要 实现 中英文的 翻译 需要用到两个网络函数: WEBSERVICE 和FILTERXML,同时要确认电脑是处于联网状态才能 实现 功能 ,两个函数的使用方法如下: WEBSERV
if (hwnd != NULL) SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); // 置顶 窗口 return 0; 上面的 代码 通过调用 FindWindow 函数获取 窗口 句柄,然后通过调用 SetWindowPos 函数将 窗口 置顶 。 如果需要取消 窗口 置顶 ,可以将参数 HWND_TOPMOST 改为 HWND_NOTOPMOST。 此外,还需要注意的是,在 置顶 窗口 时,可能会出现一些问题,例如 窗口 没有正确地渲染,或者 窗口 的控件无法响应鼠标事件。这可能是由于 窗口 的 Z 顺序问题造成的。因此,在 置顶 窗口 时,需要注意检查是否存在这类问题,并适当地调整 窗口 的 Z 顺序以避免这类问题。
 
推荐文章