ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Uipath调用VBA脚本,处理excel文档格式

2021-10-13 16:31:31  阅读:287  来源: 互联网

标签:VBA 调用 excel Excel 设置 Uipath


在平时我们的工作中,经常需要使用Uipath自动的导入大量数据到Excel表格中,但是却发现,数据导入到Excel之后,格式却是很乱,基本不能看,就像下图:

 


而Uipath对Excel的操作非常有限,特别是涉及到调整格式之类操作。今天我就教大家,怎么样通过Uipath调用Excel的VBA脚本实现对Excel表格内数据的美化。也许有不少朋友不知道VBA是什么或者不会写VBA的脚本,这个没关系,今天的文章基本不涉及写VBA脚本,99.9%的工作是通过录制宏来完成的。

需求:

    在表头增加一行,并合并单元格,表头内容是“2009.12月支出欠付表”,字体设置为16号黑体;
    把标题行固定,字体设置为12号黑体;
    表单中的数据都能够完整显示;
    支出欠付总额、收入重量、收入体积进行合计小结;
    所有的数值,显示两位小数等等一系列的操作。

期望的结果如下:

 


具体操作步骤:

    打开有问题的Excel,如图:

 


    找到开发工具(若是没有,后面说怎么让他显示出来)

 


    在第二步点确定后,就按照自己的操作把需求中的项完成,最终形成的结果如下:

    停止录制宏,然后进入到编辑环境:

 

 


    把录制的宏修改成函数,增加一个参数,表示对那个工作簿进行操作。开头如图:

 

 


结尾把“End Sub”修改成“End Function”,

 

    写个宏,调用测试一下

 

 


 

    测试运行的结果是OK的,和我们用手工操作是一样的。
    把测试宏删除,然后,把代码导出,保存为FormatCell.bas。

 

 

 

 


 

以上是录制宏,下面是建立Uipath工程。

 

    打开Uipath,并新建流程ExcelFomat。

 

 


    拖入一个 “Excel 应用程序范围”的活动:

 

 


设置操作的文件,其它不用的参数可以不用设置。

    在“正在处理”中找到“调用应用程序视觉化 Basic”活动,

 

 


    设置需要运行的脚本,即刚才我们保存的“FormatCell.txt”文件。方法名称就是“FormatCell”,参数用是工作簿的名称,此处是“Sheet1”,设置后的参数如下所示:

    执行此流程,也可以看到和手工一样的结果。

 

 


在本示例的过程中,我们只是对操作的一种情况做了介绍,其它的还有不少方面,在这里没有涉及,比如excel行数,字体设置大小等等。本文也只作抛砖引玉,给大家一个引子。

 

其它设置:

    调出开发工具
        在文件à选项,弹出Excel选项界面:

 

 


        按图中,勾选“开发工具”即可

 

 

 



    宏设置

 

 


若是不进行宏设置,用uipath调用excel的vba是调用不成功的。会弹出如下的错误:

因此要进行宏的设置,另外因为excel有比较高的风险威胁,所以在不使用时要把它关闭了。

        在文件à选项,弹出Excel选项界面,然后按图中步骤操作:

        在弹出的“信任中心”界面中,左侧选择“宏设置”选项卡,最初的情况应该如下图所示:

        按下图选择“启用所有宏”和“信任对VBA工程对象模型的访问”

        最后点关闭即可。再次重审,这两个选项有风险,大家使用后,一定要记得关了。
    在调用过程中,若是出现如下错误,则表示函数已经存在,把原来的函数改个名或者删除即可。

 
————————————————
版权声明:本文为CSDN博主「binjuny」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/binjuny/article/details/104898811

标签:VBA,调用,excel,Excel,设置,Uipath
来源: https://www.cnblogs.com/lyf175950/p/15402791.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有