Uipath-将excel的内容通过邮件发送

所有的Excel操作,都可以用VBA来执行,用uipath里面的excel activity比较麻烦。

不想把excel弄成xlsm的话,就用invoke VBA,把VBA写在txt里。

第一行是txt的路径

第二行是sub/function的名字

如果要用到 OutputValue,通过vba返回值到uipath的话,要用Function。

 Function过程:总是以“Function 程序名()”开头,以“End Function”结尾,和Sub过程的区别是Function过程有返回的值,值可以是一个值或一个数组,就像我们的工作表函数,Function过程也就是我们说的自定义函数。

函数示例:

Function mysum(n1 as Integer, n2 as Integer) As Integer

Dim s As Integer

s = n1 + n2

mysum = s

End Function

上例中定义了一个名为mysum的函数,它接受两个类型为Integer的参数,并且返回值是Integer类型。在函数内部计算了这两个参数相加的和,并把这个和作为返回值赋给mysum。可以通过调用这个函数,并传递相应的参数,获得它的返回值。

Uipath-Vlookup 

vlookup要放在for each excel row里面,让每一个单元格遍历。与EXCEL中的vlookup函数对应如上图。save to就是vlookup的返回值要放的位置。如果要放在vlookup值的旁边就写CurrentRow.ByIndex(1),我这里直接放在变量v里面。

Add To Collection

要把每一个v出来的结果都放在一个list里面,可以用Add To Collection。

放的是string,所以type也要选string。

现在只是把字符串都存放在list里。我们现在需要把多个字符串变成一个字符串,用“;”连接并去重

String.Join(";", l.Distinct)

 如果想让字符串用换行符连接

string.Join(Environment.NewLine, l.Distinct.ToArray())

VBA部分 

将excel中指定range的部分转化成图片

Sub picSaveAs()

Dim myPic As Shape, pic As Shape
Dim rng As Range, n%
Dim num

'如果本来表格里是没有图的,那copypicture出来的永远都是第一张Shapes(1),所以直接固定参数1,不然有的时候会报错
n = ActiveSheet.Shapes.Count
num = ActiveSheet.Range("d1").End(xlDown).Row
ActiveSheet.DrawingObjects.Delete
Set rng = ActiveSheet.Range("D1:S" & num)
rng.CopyPicture xlScreen, xlBitmap

ActiveSheet.Paste Destination:=ActiveSheet.Range("A1")
'Set myPic = ActiveSheet.Shapes(n + 1)
Set myPic = ActiveSheet.Shapes(1)
myPic.Copy
With ActiveSheet.ChartObjects.Add(0, 0, myPic.Width, myPic.Height).Chart
.Parent.Select
.Paste
.Export "想要的路径"
.Parent.Delete
End With

myPic.Delete
'delete all shapes
ActiveSheet.DrawingObjects.Delete

Set myPic = Nothing

Set rng = Nothing

End Sub

HTML

 使用SMTP发邮件,body用html写。

邮件中的字体设置如下  {font-family: 等线;font-size:14px}

邮件中的img要附在attach里面,然后img调用

<html>
<style type="text/css">
body {font-family: 等线;font-size:14px}
</style>

<body>
<p>Dear All,</p>
<p>以下LOP即将过期或已过期,请及时处理。</p>
<p>公盘地址:</p>
<a href='xxxx'>xxxx</a>

<img src=cid:xxx.png width=100% height=100%>
</body></html>

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值