今天想和大家一起聊聊RPA常用的脚本语言。

其实,现在无论是国外大品牌的RPA工具(UiPath,AutomationAnywhere,BluePrism等),还是国内的RPA工具(UiBot,艺赛旗等),常用的功能基本上都已经实现了(如上网抓取信息,对文件进行操作,对Office类进行处理等)。但依然有一些比较特殊的业务RPA工具无法满足我们(如调用AI,工具本身的网页抓取工具不能满足要求,需要特殊权限等等),这时候使用脚本语言解决问题就不可避免了。

我相信对RPA有点了解的人都会觉得Python是比较合适做RPA的脚本语言,事实上也是如此。Python对AI调用,加上它的语法简单简洁,以及大量的第三方库,使RPA工具变得更强大(其实大部分的RPA工具都支持Python的扩展)。但有一款对Windows更契合的脚本语言,处理一些不那么复杂的业务流程会更合适,它就是VBScript(简称VBS)。

VBS是微软开发的一种脚本语言。自Windows98SE以来就一直支持。可通过 Windows 脚本宿主调用 COM,所以可以使用 Windows 操作系统中可被使用的程序库。

老一辈做过ASP的程序员应该对VBS很了解了,因为早期的ASP可以只用VBS构建。包括现在现在依然可以添加VBS脚本在WEB应用里。不过随着技术的发展,现在ASP的应用已经特别少了,就算是Script也基本是JavaScript一家独大了。其实,VBS还有一个重要的作用,是被用来完成重复性的Windows 操作系统任务。

现在所说的RPA,确实任何系统上都需要这种技术,但以Windows为主的RPA基本上占据了大半壁江山了。现在政府办公,财务系统处理,以及日常业务办公,基本上都是以Windows系统为主,用的办公软件基本也都是微软的Office(先不论用的是否是正版的)。

VBS可以通过Windows脚本宿主调用COM,因而可以使用Windows操作系统中可以被使用的程序库,平常Windows日常操作,基本都可以实现。再加上本身是微软开发的语言,在Windows脚本领域的契合度是最高的。它可以使用Microsoft Office的库,可以调用VBA,当然它也可以使用其它程序和操作系统本身的库。对数据库也有支持,尤其对Microsoft Access和MicrosoftSQL Server的支持度最高。同时,它还支持IE浏览器的自动化,可以实现数据抓取和自动填写表单等自动化功能。

VBS与开头提到的Python相比,虽然没有Python的第三方库的功能那么强大,但好在进行扩展时,不需要安装系统环境,兼容性不是一般的好。而且速度比Python快的多的多。

VBS的语法是由VB衍生而来,感觉上更和VBA有些类似,但功能上不及VBA。因为毕竟是脚本语言。有VBA基础的开发人员可以在很短的时间就能掌握VBS。现在使用VBS的人很少,教程可以看10年前的也没什么影响。因为VBS的版本迭代很慢,Windows10版本为5.812(Windows Vita的时候也就5.7)。

当然我也会不定期的去发表下VBS技巧的小软文。