最近听到⼩伙伴们因为循环录⼊资料的问题犯难,看上去⽤UiPath做资料录⼊不难,做⼀个循环也不难,但就是不知道怎样将两个功能搭配在⼀起⽤。所以半夜爬起来跟⼤家分享⼀下设计思路。
资料录⼊—>Type Into/Set Text/热键Ctrl+V
循环—>While/Do While/For Each/For Each Row
先以excel表格中资料的循环录⼊为例:
需求:将表格中的每⾏资料依次录⼊系统的不同栏位中
表格如下:
系统界⾯如下:
隔爆灯
需求解读分析:
读取excel表格--表格内容存取为Data Table--将Data Table中第⼀⾏第⼀列(不含标题)录⼊Type -- 将Data Table中第⼀⾏第⼆列录⼊Price -- 保存
其中蓝⾊字体显⽰的部分,是需要包含在循环中的。
如何设计循环呢,循环Activity有While/Do While/
For Each/For Each row;对表格数据的循环处理,优先选⽤For Each Row。
单向离合器轴承
Read Range--For each row
For each row中依次为: Type into(Type)--Type into(Price)--Click(Save)
Read range就不赘述了,上⼀篇⽂章中有提到,今天主要看⼀下For each row⾥⾯如何设置:
十字滑台>rta 飞row("Type")这个表达式是可以读取表格中Type这⼀列的值;
row("Price")则是读取表格中Price这⼀列的值:
.ToString是将读取到的值转换为⽂本格式,Type into⽆法直接接收row("列名")这样的object,所以必须转换为⽂本格式才可以实现录⼊。
再考虑更完善些,就是点击完Save之后的页⾯如果发⽣了变化,那么需要点击“还原”或“后退”按钮退回⾄输⼊页⾯,这样For each row的循环才能顺利输⼊。米黄石
这是⽐较简单的资料表数据录⼊举例。延伸⼀下的话,如果需要循环录⼊后按条件查结果,并将结果存⾄另外⼀个系统。那么For each row所包含的内容就会⽐较长了,这时为了⽅便程式调试或便于程式的长期维护,建议将For each row中主要的查结果及结果保存⾄新系统的动作包裹为⼦流程,然后通过流程调⽤及不同流程传递参数的⽅法设计程式。具体调⽤⽅法及参数传递⽅法,待笔者再时间分享给⼤家。万能角钢