分享

当审计遇上RPA

 新用户12603780 2022-05-07 发布于广西

最近看了一本书,接触了一个国内的RPA产品—来也UiBot↓ 

RPA:Robotic process automation(机器人流程自动化)

周末根据最近频繁接到的需求(批量查询工商信息并截图上手试写了一下。

PS..学软件最好还是通过官方手册+视频+论坛的方式..用纸质书这种载体来学软件操作着实有点难受..图片 

这次抽一个小伙伴把书送了,规则在最后。

图片

先看效果吧:

以下视频来源于
茶瓜子的休闲馆

10个公司的抓取工商信息+截图总共花了2分10秒,100个公司大概是22分钟(受网速影响),效率不算特别高,但是胜在编写和调试简单而且免费(效率最高的肯定还是买接口)。

【茶瓜子的休闲馆】后台回复[RPA]获取该示例脚本及底稿下载地址。

需求:

图片

把底稿中的待核查公司在天眼查中全部查好,把相应的“完整公司名”,“法定代表人”,“成立时间”,“地址”填入Excel中,之后在天眼查网站截图并保存下来作为附件,再链接到底稿中,如下图↓

图片

由于来也的Uibot对Excel对象、方法的支持一般,很多细节没有VBA强大(毕竟亲生的),但Ub可以直接执行VBA代码,因此我用了接力的方式,也就是RPA做他擅长的,比如跨平台操作(从网页上搬数据到Excel中),纯Excel中的操作全部用VBA来实现,最后在Ub中调用VBA代码。

如何使用这个脚本及如何编写脚本的技术篇在最下面↓

图片

还是插一楼啰嗦啰嗦

01

先说一下哪些人适合买这本书读读吧:

首先我可以很明确的说,学一个软件以及操作,纸质书籍绝不是最好的载体,所以如果你只是想学这个UiBot软件,那么可以不用买了,下载了软件去网上看实战的视频或者从官方的教学视频从头看起都可以。

如果你想学审计或者IT审计..那也不用考虑了,这跟IT审计甚至都不搭边.. 而且这个书内的审计实战案例,其实都只举了非常简单的场景,或者说只是拿比较简单的审计程序来举例,甚至很多场景都是完全在Office之内的自动化实现(对于这部分我觉得你去学学VBA更好),论兼容和稳定性,在亲儿子面前在座的都是..图片

我认为适合买这本书读读的是没有学过,也不太想花很多时间或者没什么兴趣去学一门编程语言(比如Python、VBA)的需要做底稿的审计员(经理以下)。

书内的业务场景很简单,作为从业人员一眼能看出他要实现的需求,也就是他要做什么事情,再看他如何通过这个RPA工具来实现,能了解这个工具的能力和边界。 

当你知道了确切的目的以及工具的能力,那么很大概率你就能用这个工具来解决需求。

由于UiBot的可视化界面全部都是用的中文,而且他把很多的轮子都造好了,比如读写Excel和Word、解析PDF、填写/抓取网页元素、下载网络文件、操作文件和文件夹,甚至操作SQL都写好了,应付一般的办公场景都够了。你只需要把操作步骤一个一个拖进来,调整参数就行。

可以看看这次我发的查工商并截图脚本↓ 

图片

虽然门槛低,但还是要有一些编程的思维,比如对象、方法、变量、遍历循环、数组、序列,知道了这些概念以及应用方式,看懂这个脚本完全不费劲(只要你有VBA基础,用这个就是0门槛)。

相对于Python、VBA学习门槛低了很多(其实这两个也不难学..相对于CPA6门来说..),Python虽然有非常强大的库,但是作为一门语言,要学习基本语法,要配置环境,要学习各种库的用法;VBA作为一个非常古老的语言,轮子都得现写就不说了..图片(u1s1如果你的工作就是玩表还是强烈建议学习一下VBA,至少学会录制宏和循环、判断)

02

在审计一线其实很少听人提及RPA,倒是在会计领域听的更多一些,比如发票识别,录入单据等等。

RPA其实是一个很宽泛的概念:Robotic process automation(机器人流程自动化),简单的说只要是电脑帮你做流程自动化的都能称为RPA。

平时我们所用到的VBA、Python是编程语言,他们更多用于具体的某个业务场景,而不会强调什么RPA概念,比如我要用VBA写一个批量抓取汇率放进底稿,或者批量按索引号整理文件名并链接到底稿的宏,写完了以后他也就是成为了我的一个小工具而已。

RPA概念衍生出了很多的RPA产品,像国外的Uipath,国内的Uibot、影刀等等,但不是说不用这些产品就跟RPA没关系,其实很多RPA的实现都是用的Python,甚至有些RPA产品本身就是用Python实现的。

为什么会计领域听得多,审计领域听得少呢,以我自己的从业经验和理解来说,会计岗位的办公流程相对比较固定,在公司的内控和OA软件比较稳定的情况下,变量是比较少的,大概率能用一个RPA软件做的脚本一趟水做完。

但是审计面向全行业,每个行业每个公司要执行的审计程序是不确定的;每个被审计单位提供的数据源差异也非常大,毕竟各家的财务软件也不一样,审计员要花大量的时间干数据清洗的活;大多数情况下数据是反反复复来回修改很多次才能用,因此还需要大量的沟通工作;还有监管的政策也在实时变化等等非常多的变量。

从现场账套取数、做审计程序、收集审计证据、合并TB的编制到出具报告及附注,这一套流程会被分拆为非常多的子任务分配给不同的审计员,每个子任务需要不同等级的专业能力和经验,涉及了大量的沟通和职业判断。我想没有什么工具能够实现这整套流程的自动化。

但是在具体实施审计程序的时候,面对集团中大量的单体公司,或者大量的客户和供应商,一个审计程序可能要重复几十上百遍,因此就诞生了很多的审计小工具,这些小工具其实就是RPA流程自动化的一个体现,只不过它没法像会计岗位一样把一套流程跑完,直接给你生成底稿,或者直接出个报告,而且它通常是以Excel宏的形式出现,很难让人跟听起来高大上的RPA扯上关系。

我个人觉得不用太过于纠结RPA这个概念,简单理解为提升工作效率的工具就行了。当这个工具能帮你输出最终的结果时,比如工具能直接给你刷出某个审计程序的底稿,可能你会给它套上RPA的壳,如果它只是审计程序中解决重复工作的中间步骤,最后还得自己手动整理底稿出报告的话,你可能只会觉得这是一个小工具。

所以是不是RPA其实不重要,我们需要做的就是保持学习,在财审专业领域之外把需要用到的工具也学一学以便应对审计过程中的各种情况,比如面对海量的数据,Excel没法胜任就去学SQL;面对Office内大量重复的操作,去学VBA;需要大量抓取某些网络数据,去学Python爬虫。

现在的学习门槛真的很低,但凡你想学什么,去B站一搜,都是从入门到入土的教学视频..图片 实在不想花时间学编程语言,那你也可以试试这些中文的RPA产品。

顺嘴再提一句,审计行业,每个项目组就像一个小作坊,大家用的工具都是本项目组的老员工流传下来的工具,很多都是古董级别了,项目组与项目组之间的交流也非常少,再加上可能出现的高低级别断层现象,导致很多新员工根本就不知道哪些审计程序用哪些工具效率更高,只能照着前辈流传下来的底稿和方法工作。

最近我在所内创了一个2000人的审计作业交流群,每天活跃人的很多,大家也乐于分享自己的方法和工具,我觉得这是一个很好方式来促进项目组之间的交流,大家能学到别的项目组是如何作业的。

有同行的话也可以在所里创建这样的交流群,我觉得蛮有意义的。

图片

最后是这个脚本的使用方法和编写方法,如果要使用这个脚本的话,强烈建议还是过一遍编写方法!

01

使用方法,总共3步

准备工作:

1.首先你要下载UiBot这个软件,直接在官网下载即可

链接:https:///product/process-creator

用免费社区版就行。

2.还有我发的压缩包(后台回复“RPA”获取下载地址)

第一步:

把压缩包解压,里面有2个文件夹以及一个Excel文档↓

图片

第一个是脚本的工程文件夹,第二个是放截图的文件夹,第三个就是底稿

第二步:

打开UiBot Creator Community ,注意别开错了,是Creator

图片

在软件中点击打开

图片

打开目录选择刚刚说的第一个文件夹,点“选择文件”:

图片

第三步:

点第三行,选择右边的文件,打开第一步中的Excel底稿

图片

选择了Excel底稿之后就可以点左上角的运行了。

注意:在脚本运行期间不要去操作电脑。

下面是脚本的编写方法,再说一遍如果你要用这个RPA脚本的话,强烈建议还是看一遍,了解整个逻辑之后即使报错了也知道该如何解决。

02

编写方法

以我发的这个脚本为例来大致讲讲脚本怎么写吧,具体的教程最好还是看官方的文档或者教学视频,如果你有面对对象的理念应该上手会非常快。

我们这个需求整体的逻辑很简单:

1.打开Excel底稿→2.找到A列最后一行→

图片

→3.从第4行开始到最后一行→4.把公司名依次填到天眼查的窗体中→5.点击查询

图片

→6.把第一个出现的公司对应的标签抓下来→7.进入第一个公司的详情网页

图片

→8.截图并保存到相应的文件夹→9.将截图文件建立超链接到底稿

02.1

在UiBot中1-3步如下,还是很好理解的,“总行数”是一个变量,他就是最后行的行号,然后读取A4到A最后一行(即第四行开始)。

图片

把这些公司名都赋值给了“公司组”这个变量,这个变量是个数组,“司组”变量包括个公司名,并且都是有序号的,比如公司[0]就是第一个公司,公司[1]就是第二个公司,可以参考VBA中的数组,序列从0开始。

02.2

4-6步,依次填入公司名并点击查询,那么先打开浏览器,然后建立一个循环,这个循环就是每个公司名都要填入浏览器的天眼查框里

图片

用“公司”这个变量遍历公司组,在VBA中就是

For each 公司 in 公司组
Next

意思就是在公司组中有很多公司名,从第一个公司名开始,每个公司名都要经历下面的过程。

在天眼查的输入控件中输入文本“公司[0]”,在这里有个坑我提一下,公司这个变量已经是公司组中的一个元素了,但是UiBot在取单元格的值时,他取到的还是一个数组,所以我们在用这个值的时候就要加一个序号[0]

选择网页的元素也很简单,点击上面的录制

图片

选择输入文本即可

图片

然后单击查询的按钮,也是录制这里的控件-单击。

02.3

接下来是等网页加载完,再抓取各个信息

图片

抓取也很简单,不用自己去解析标签,查Xpath,想正则表达式。这里直接在加载完之后,点数据抓取-选择目标

图片

然后选中你要抓取的信息

图片

确定以后他还会让你抓一次,这是验证他解析的标签是否正确,那我们就再选下面这个公司相同的字段

图片

选完以后他就会把这个网页页面的所有同级标签抓出来,赋值给变量“法定代表人组”,这也是一个数组,装了所有的法定代表人,但是我们只需要第一个元素就行,因此后面写入的时候是“法定代表人[0]”。后来我发现第一个元素他还是一个数组,所以要把内容提出来就得再一个[0],这是第二个坑。同理把其他的字段都抓出来,把公司的链接也抓出来就行了。

接下来就是把抓出来的信息写入到单元格中,在UiBot左侧我们搜索Excel就能出来对Excel的全部操作

图片

我们找到写入单元格,拖到脚本里面

图片

在这里要记得写单元格的时候,第4行的公司,要写在第4行,因此我们在前面定了一个变量n代表行数,在这里就用上了,单元格是B4,熟悉VBA的同学应该知道,字符串+变量要用双引号和&连接起来。

02.4

打开公司详情页面,等待加载完成后截图

图片

截图的方法就在左侧搜索截图即可

图片

拖进来以后指定好要截那个元素,再选好保存路径。

图片

在循环的最后记得让n+1,保证下一次循环写入的单元格是下一行的单元格。至此一个循环就写完了

02.5

上面的循环是填信息+截图保存到文件夹。

最后我们需要把截图文件夹中的图片建立索引到底稿中,这个方法在UiBot中是没有的,已经不属于常规操作了,因此我在VBA中把过程写好后,直接在UiBot中调用这个过程。

Sub 生成超链接(y)For i = 4 To Range('A1048576').End(xlUp).Row    ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, y), Address:='截图\' & Cells(i, 2) & '.jpeg', TextToDisplay:=Cells(i, 2).ValueNextEnd Sub

VBA的写法可以自己录制宏或者在网上找找代码。

最后就是在UiBot中调用这个过程,指定参数,关闭并保存Excel

图片

这个UiBot要注意一下屏幕的分辨率问题,我的电脑如果用2K的分辨率150%放大率是找不到元素的,最后是用的1080P+100%放大率。

图片

能看到最后的应该不超过20%吧图片,希望有兴趣的小伙伴可以去试试这个RPA工具,与其等别人把工具做出来,不如自己去学一个工具做给别人用,得到的成就感是完全不一样的

这本书会送给留言点赞第一的小伙伴,截止到发文后的第3天24点(刷的不算哦)。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多