03 Uipath调用VBA脚本,处理excel文档格式
前言:
在平时我们的工作中,经常需要使用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工程对象模型的访问”

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

结语:
若是大家在操作的过程中,遇到什么问题,可以在评论区给我留言。 也可以关注我的微信公众号:IT人的成长

03 Uipath调用VBA脚本,处理excel文档格式的更多相关文章
- Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题
一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...
- [转]unity3d 脚本参考-技术文档
unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...
- struts2中利用POI导出Excel文档并下载
1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情.其他不说,先上代码: package com.tydic.eshop.action.feedback; impor ...
- 【转】ExcelHelper类,用npoi读取Excel文档
//------------------------------------------------------------------------------------- // All Right ...
- C#编程实现Excel文档中搜索文本
有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事. 打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Applicati ...
- word ppt excel文档转换成pdf
1.把word文档转换成pdf (1).添加引用 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 /// <summary> /// ...
- Asp.net的对Excel文档的导入导出操作
刚刚初入职场,在休闲的时间写下了项目中用到的对Excel文档操作的方法以及总结,多的不说,直接上代码 public static void CreateExcel(DataSet ds, string ...
- Python openpyxl : Excel 文档简单操作
安装方法 使用 pip 或通过专门python IDE(如pyCharm)进行安装 其中pip安装方法,命令行输入: pip install openpyxl 基本使用 第一步先是要导入 openp ...
- libreoffice python 操作word及excel文档
1.开始.关闭libreoffice服务: 开始之前同步字体文件时间,是因为创建soffice服务时,服务会检查所需加载的文件的时间,如果其认为时间不符,则其可能会重新加载,耗时较长,因此需事先统一时 ...
随机推荐
- cs231n spring 2017 lecture14 Reinforcement Learning
(没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互.在 t 时刻,Agent 获知状态是 st,做出动作是 at:Environment 一方面给出 Re ...
- highcharts series几种写法
一.数据列 数据列是一组数据集合,例如一条线,一组柱形等.图表中所有点的数据都来自数据列对象,数据列的基本构造是: series : [{ name : '', data : [] }] 提示:数据列 ...
- ES7中的async和await
ES7中的async和await 在上一章中,使用Promise将原本的回调方式转换为链式操作,这就将一个个异步执行的操作串在一条同步线上了.下一次的操作必须等待当前操作的结束. 使用Promise的 ...
- MySQL rand(随机数)、floor(保留整数)、char(ASCII 转字符)、concat(字符串连接)
一.MySQL的rand()函数 select rand(); rand()函数,随机0-1之间的数. 二.获得0-10之间的整数(包含0,不包含10) ; 其中floor()去掉小数. 三.获得指定 ...
- js 实现排序算法 -- 冒泡排序(Bubble Sort)
原文: 十大经典排序算法(动图演示) 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作 ...
- javaSE复习之——线程
线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CP ...
- 从假图片到假新闻,AI就这样“控制”了我们
在评论某位新蹿红的明星时,围观群众总是习惯性地先从长相上来判定,如"像周润发和梁朝伟的合体"."刘德华和郭富城的合体"等--反正比"黄渤和王宝强的合体 ...
- AngularJS入门篇
AngularJS是一个JavaScript框架,它通过指令扩展了HTML,且通过表达式绑定数据到 HTML.顺便一提,什么是框架?比如struts2.spring.hibernate.thinkph ...
- Magic Methods 5
描述符 : 将某种特殊类型的类的实例指派给另一个类的属性. 特殊类型为以下方法的1-3个 : __get__(self, instance, owner):用于访问属性,它返回属性的值 __set__ ...
- jquery.qrcode笔记
由于一个坑爹的项目需要生成二维码扫描,后台由于数据库比较麻烦,就只能前端做了,于是乎找到Js生成qrcode的一个库:https://github.com/jeromeetienne/jquery-q ...