- 1 -

很牛掰?其实没啥用


网上很多文章,介绍怎么用Excel轻松调用有道在线翻译接口,实现中英文自动翻译的,主要是使用了WEBSERVICE + FILTERXML函数:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml


其中,webservice函数负责调用接口,filterxml负责从返回的内容里提取翻译结果。


看着很牛掰,是不是?其实啊,没啥用!


为什么?


这些文章里,一般只是举了1项或少数几项内容,或者只是运行了一次,当然可以成功,但是,如果需要翻译的项目很多呢?比如说,几百个,甚至几千个短语,即需要重复多次调用这个接口,你试试?


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_02


而且,当在Excel里出错后,直接用网站登录访问有道都同样会被毙掉:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_03


更关键的是,既然要用excel自动出结果,通常来说,要翻译的内容就不会只要那么几项


那为啥数据多了就取不到结果了?


其实很简单!并不是因为这些函数有问题,而是,类似于网站的“防爬”机制,当来自同一电脑的接口调用过于频繁时,服务器方面当然会做限制的——毕竟,任何一次访问,都是有成本的。


- 2 -

PAD模拟人工操作网页


这种情况下,我们完全可以通过Power Automate Desktop模拟手工访问网站的方式,按需要、分次、整体、自动填充待翻译内容,获取翻译结果。


  • Step-01 打开文件(如Excel),读取待翻译内容


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_desktop_04


  1. Step-02 从Excel工作表中读取数据


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_有道_05


  1. Step-03 提取Excel数据表中的列


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_06


  1. Step-04 启动chrome,打开翻译网站


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_07


  1. Step-05 填充网页上的文本字段


将从Excel中读取的待翻译内容,填充到翻译网站的文本框(通过添加UI元素拾取)中。


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_desktop_08


  1. Step-06 获取网页上的详细信息


经过上一步将待翻译内容填入后,网站会自动执行得到翻译结果:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_desktop_09


通过“获取网页上的元素的详细信息”步骤,基于“添加UI元素”,获取翻译结果内容(innertext):


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_有道_10


在添加UI元素时,注意获取翻译结果最内层的div,以免出现多余的信息:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_11


  1. Step-07 拆分文本


因为我们要将翻译结果分开每一行对应回Excel表中,所以,要对获取的翻译结果,按行进行拆分:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_12


  1. Step-08 写入Excel工作表


将拆分后的翻译结果,写回Excel工作表中:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_13


因为前面步骤进行了拆分,所以写入到指定单元格,如B2,得到的结果将会写到从B2开始的每一行里:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_desktop_14


  1. Step-09 关闭Web浏览器


翻译内容获取完毕,不要忘了关闭打开的Web浏览器:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_desktop_15


  1. Step-10 关闭Excel


最后,按需要关闭Excel文件:


Excel里一个公式搞定自动翻译?其实没啥用!这才是真正的解决之道!| Power Automate实战_xml_16



- 3 -

突破的不仅仅是Excel


通过采用Power Automate for Desktop,我们模拟人工查阅的方式,可以最大限度地发挥将多个单元格的内容自动地整合到一起,一次性翻译后,再将翻译结果整体获取返回Excel的全过程,从而避免了Excel针对每项频繁调用翻译接口可能导致的网站屏蔽问题。


同时,通过Power Automate for Desktop,不仅可以从Excel中读取要翻译的内容,还可以读取更多其他格式的文件,如文本、word、pdf……,全面突破Excel公式本身的限制……并且,翻译的结果,可以按需要输出到其他所需要应用的地方!


——这就是Power Automate for Desktop的强大之处,也是RPA(Robotic process automation:机器人流程自动化)的魅力!