■前言
修改同事大神写的非常好的自动Evidence做成工具,
添加一些功能
・截取图片后,截图的图片置于最底层 :调用VBA函数 pictureToBack
・Case中的的一些内容,自动截图,并保存到Evidence中 :调用VBA函数 getCaseInfoAsPicture
■VBA的代码
'把图片置于底层
Sub pictureToBack()
Selection.ShapeRange.ZOrder msoSendToBack
End Sub
'先当于从case文件中截图,保存到 Ecidence 中
Sub getCaseInfoAsPicture(ByVal caseNum As Integer)
Dim copyBeginIndex
copyBeginIndex = 3 + caseNum * 22
Windows("case.xlsx").Activate
'当于从case文件中截图的区域
Range("C3:J13").Select
Selection.Copy
Windows("EvidenceTemplate.xlsm").Activate
'Range("C3").Select
Range("C" & copyBeginIndex).Select
ActiveSheet.Pictures.Paste.Select
End Sub
---
■VBS代码
Set excelApp = createobject("Excel.Application")
excelApp.Visible = true
excelApp.DisplayAlerts = false
Set oWorkbooks = excelApp .Workbooks.Open("C:\test\EvidenceTemplate.xlsm")
'...
Dim count '不能写成 Dim count As Integer,否则报错
'...
count = 1 '不能写成 set count = 1, 否则报错
'运行函数 (含参数传递)
excelApp.Run "getCaseInfoAsPicture",count
'...
'运行函数
excelApp.Run "pictureToBack"
'...
count = count +1
'...
oWorkbooks.Close
excelApp.Quit
Set oWorkbooks = nothing
Set excelApp = nothing
---