最近几天,又陆续接到“Excel网络函数库”用户反馈GoogleTranslate ByWebBrowser()函数库程序报“正在取值”的错误,无法正常工作。经查,真相是Google翻译网站升级改版,原函数库失效。
笔者更新了GoogleTranslate ByWebBrowser()函数,并优化了Excel浏览器,Google翻译现已恢复正常。以下是效果展示,共分三步:
第一步,编写翻译函数,拖动公式,将需要翻译的内容加入请求队列。
第二步,打开Excel浏览器,开始监听,它会每隔两秒钟读取请求列表中的第一个请求,翻译后将结果写回Excel。它会自动处理未翻译的请求,直至全部翻译完毕。
第三步,再次拖动公式,如果返回“正在取值...”表示请求还未被处理,稍后再拖动公式。如果处理完毕,会返回翻译的结果,如下图所示:
是不是很神奇?这次又可以使用谷歌翻译了。这种方法虽然每隔两秒才翻译一次,但好处是翻译通过Excel浏览器完成,Excel中刷新公式更新翻译结果时,速度非常快,Excel不会卡死。
当然,要做到这点并不容易,功能开发过程艰难就不用说了(有困难笔者自己抗),读者要使用这个公式,也需要做两个准备工作。
第一步,重新下载Excel浏览器和更新工具
下载Excel浏览器,解压后,会有Excel WebBrowser32bit和Excel WebBrowser64bit两个文件夹,按照操作系统选择对应版本。Excel浏览器的程序文件名是Excel WebBrowser.exe。然后下载最新ExcelAPI函数库更新工具,更新最新函数库。
由于Excel浏览器使用了数据库,且数据库对操作系统有一定限制,所以运行Excel浏览器后,可通过菜单“初始化数据库”判断Excel浏览器是否可正常工作。“初始化数据库”菜单如下图所示,如果提示初始化数据库成功,表明Excel浏览器可正常工作。
第二步,在Excel加载项中执行“初始化数据库”,检查Excel函数库是否可正常读取数据库。菜单如下,如果提示初始化数据库成功,表示函数可用;如果返回错误,表示所安装的函数库程序文件存在版本问题,请下载对应版本。
准备工作基本完成,可以正常使用Excel网络函数库GoogleTranslate ByWebBrowser()函数调用Google翻译了。通过Excel浏览器方式调用Google翻译不受加密算法影响,除非Google关闭网页翻译查询通道,当然Google能够监测到过于频繁的翻译请求,所以,建议短时间内翻译频率不要过高,具体多少算高,笔者也没有测试过,一般不影响。虽然过程繁琐,但也顺利达到目的。觉得好,给笔者点个赞吧。
领取专属 10元无门槛券
私享最新 技术干货