欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vbscript生成Excel报表的常用操作总结

程序员文章站 2022-03-21 16:43:53
使用qtp自动化测试结束后,经常需要将测试结果写入excel中,这里就把一些常用对excel操作的方法进行归纳、整理,方便使用时查阅。支持office excel 2003...

使用qtp自动化测试结束后,经常需要将测试结果写入excel中,这里就把一些常用对excel操作的方法进行归纳、整理,方便使用时查阅。支持office excel 2003版本,不支持2007版本。

vbscript代码

on error resume next
 dim filename, sheetname, text, excelapp, excelbook, excelsheet
 filename = "d:/book1.xls"
 sheetname = "新建表"
 text = "hello qtp ! 你好, quicktestprofessional !"
set excelapp = createobject("excel.application")
 set excelbook= excelapp.workbooks.open(filename)
 set excelsheet = excelbook.sheets.add '插入工作表
 'set excelsheet = excelbook.sheets.item(sheetname) '获得指定工作表
' *************** 对数据表的操作 ***************
 for i=1 to excelbook.sheets.count
 if excelbook.sheets(i).name=sheetname then
 excelapp.displayalerts=false
 excelbook.sheets(i).delete '删除工作表
 excelapp.displayalerts=true
 exit for
 end if
 next
 excelsheet.name = sheetname '重命名工作表
' *************** 对文字的操作 ***************
 excelsheet.cells(1,2) = text
 excelsheet.range("b2","b20").value = text
 excelsheet.cells(1,2).font.name = "verdana" '设置字体
 excelsheet.cells(1,2).font.size = 25 '设置字号
 excelsheet.cells(1,2).font.color = rgb(0, 0, 255) '设置字体颜色
 excelsheet.cells(2,2).font.bold = true '文字加粗
 excelsheet.cells(3,2).font.italic = true '文字倾斜
 excelsheet.cells(4,2).font.underline = true '文字加下划线
 excelsheet.cells(5,2).font.strikethrough = true '文字加删除线
 excelsheet.cells(6,2).characters(2, 2).font.superscript = true '设定文字上标
 excelsheet.cells(7,2).characters(2, 2).font.subscript = true '设定文字下标
' *************** 对单元格的操作 ***************
 excelsheet.columns("b").columnwidth = 40 '设置列宽
 'excelsheet.columns("b").autofit '自动调整列宽
 excelsheet.range("b11").rowheight=40 '设置行高
 'excelsheet.rows(11).rows.autofit '自动调整行高
 excelsheet.range("b8","d8").merge '合并单元格,水平方向
 excelsheet.range("b18","b19").merge '合并单元格,垂直方向
 excelsheet.range("b8","d8").borders.color = rgb(0,255,0) '设定单元格边框颜色
 excelsheet.range("b12").interior.color = rgb(255,0,0) '设置单元格背景色
 excelsheet.cells(9,2).wraptext = true '自动换行
 excelsheet.cells(10,2).horizontalalignment = 3 '设置水平对齐,1常规,2靠左,3居中,4靠右
 ' 5填充,6两端对齐,7跨列居中,8分散对齐
 excelsheet.cells(11,2).verticalalignment = 1 '设置垂直对齐,1靠上,2居中,3靠下
 ' 4两端对齐,5分散对齐
 excelsheet.range("b14").borders(1).linestyle=1 '设置左边框样式
 excelsheet.range("b14").borders(2).linestyle=2 '设置右边框样式
 excelsheet.range("b14").borders(3).linestyle=3 '设置上边框样式
 excelsheet.range("b14").borders(4).linestyle=4 '设置下边框样式
 excelsheet.range("b15").clearcontents '清除单元格内容
 excelsheet.range("b16").formula="=1+10" '设置单元格公式
 excelsheet.range("b17").addcomment("hello" & vblf & "qtp") '插入批注
 excelsheet.range("b17").comment.visible=true '显示批注
 'excelsheet.range("b17").clearcomments '清除批注,与删除批注效果相同
 'excelsheet.range("b17").comment.delete '删除批注,与清除批注效果相同
 'excelsheet.saveas("d:\book2.xls") '另存为
excelbook.save
 excelbook.close
 excelapp.quit
 set excelbook = nothing
 set excelapp = nothing
 systemutil.closeprocessbyname "excel.exe" '如果仍有excel.exe进程,可使用这句关闭进程
 if err.number>0 then
 msgbox err.description
 end if
 on error goto 0

补充:

excelapp.displayalerts = false ‘关闭兼容性检查
excelbook = excelapp.workbooks.add ‘新建excel
excelsheet = excelbook.activesheet ‘激活第一个表
excelsheet.columns(“a:e”).autofit() ‘设置a到e列自动调整列宽
excelbook.saveas(“d:\book2.xls”,fileformat:=excel.xlfileformat.xladdin) ‘文件另存为