前言:

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

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

需求:

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

期望的结果如下:

具体操作步骤:

  1. 打开有问题的Excel,如图:

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

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

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

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

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

  1. 写个宏,调用测试一下

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

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

  1. 打开Uipath,并新建流程ExcelFomat。

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

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

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

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

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

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

其它设置:

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

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

  1. 宏设置

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

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

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

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

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

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

结语:

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

03 Uipath调用VBA脚本,处理excel文档格式的更多相关文章

  1. Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题

    一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...

  2. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  3. struts2中利用POI导出Excel文档并下载

    1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情.其他不说,先上代码: package com.tydic.eshop.action.feedback; impor ...

  4. 【转】ExcelHelper类,用npoi读取Excel文档

    //------------------------------------------------------------------------------------- // All Right ...

  5. C#编程实现Excel文档中搜索文本

    有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事. 打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Applicati ...

  6. word ppt excel文档转换成pdf

    1.把word文档转换成pdf (1).添加引用 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 /// <summary> /// ...

  7. Asp.net的对Excel文档的导入导出操作

    刚刚初入职场,在休闲的时间写下了项目中用到的对Excel文档操作的方法以及总结,多的不说,直接上代码 public static void CreateExcel(DataSet ds, string ...

  8. Python openpyxl : Excel 文档简单操作

    安装方法 使用 pip 或通过专门python IDE(如pyCharm)进行安装 其中pip安装方法,命令行输入:  pip install openpyxl 基本使用 第一步先是要导入 openp ...

  9. libreoffice python 操作word及excel文档

    1.开始.关闭libreoffice服务: 开始之前同步字体文件时间,是因为创建soffice服务时,服务会检查所需加载的文件的时间,如果其认为时间不符,则其可能会重新加载,耗时较长,因此需事先统一时 ...

随机推荐

  1. cs231n spring 2017 lecture14 Reinforcement Learning

    (没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互.在 t 时刻,Agent 获知状态是 st,做出动作是 at:Environment 一方面给出 Re ...

  2. highcharts series几种写法

    一.数据列 数据列是一组数据集合,例如一条线,一组柱形等.图表中所有点的数据都来自数据列对象,数据列的基本构造是: series : [{ name : '', data : [] }] 提示:数据列 ...

  3. ES7中的async和await

    ES7中的async和await 在上一章中,使用Promise将原本的回调方式转换为链式操作,这就将一个个异步执行的操作串在一条同步线上了.下一次的操作必须等待当前操作的结束. 使用Promise的 ...

  4. MySQL rand(随机数)、floor(保留整数)、char(ASCII 转字符)、concat(字符串连接)

    一.MySQL的rand()函数 select rand(); rand()函数,随机0-1之间的数. 二.获得0-10之间的整数(包含0,不包含10) ; 其中floor()去掉小数. 三.获得指定 ...

  5. js 实现排序算法 -- 冒泡排序(Bubble Sort)

    原文: 十大经典排序算法(动图演示) 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作 ...

  6. javaSE复习之——线程

    线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CP ...

  7. 从假图片到假新闻,AI就这样“控制”了我们

    在评论某位新蹿红的明星时,围观群众总是习惯性地先从长相上来判定,如"像周润发和梁朝伟的合体"."刘德华和郭富城的合体"等--反正比"黄渤和王宝强的合体 ...

  8. AngularJS入门篇

    AngularJS是一个JavaScript框架,它通过指令扩展了HTML,且通过表达式绑定数据到 HTML.顺便一提,什么是框架?比如struts2.spring.hibernate.thinkph ...

  9. Magic Methods 5

    描述符 : 将某种特殊类型的类的实例指派给另一个类的属性. 特殊类型为以下方法的1-3个 : __get__(self, instance, owner):用于访问属性,它返回属性的值 __set__ ...

  10. jquery.qrcode笔记

    由于一个坑爹的项目需要生成二维码扫描,后台由于数据库比较麻烦,就只能前端做了,于是乎找到Js生成qrcode的一个库:https://github.com/jeromeetienne/jquery-q ...