欢迎来到天天文库
浏览记录
ID:39281274
大小:249.02 KB
页数:9页
时间:2019-06-29
《第11章 VB与Excel的数据交换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章VB与Excel的数据交换Excel是目前非常流行的电子表格软件,很多人都习惯于在EXCEL中处理数据,并在Excel中完成报表输出等功能,但Excel的数据处理功能相对较弱,而VB具有强大的数据处理功能,但报表输出功能相对较弱。本章以实例的形式介绍VB如何从Excel中获得数据,再将处理后的数据保存到Excel工作表中,并调用Excel中的VBA指令对排版,生成数据报表。11.1VB中Excel的启动与关闭11.1.1Excel对象库引用在VB中调用Excel,首先需要打开VB编程环境“工程”菜单中的“引用”项目,并选取项目中的“MicrosoftExc
2、el11.0objectlibrary”(Excel版本不同,这个选项中的的版本号可能不一样)。引用Excel对象库后,对编写代码会带来很多便利。11.1.2Excel对象声明EXCEL是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。编程过程中主要用到以下4个层次的对象。1.Application对象,即Excel程序本身;2.WorkBook对象,即Excel的工作簿文件对象;3.WorkSheets对象,表示的是Excel的工作表对象集;例如:worksheets(1)表示第一个工作表。4.Cells、Range、Rows、Columns对象,分别
3、表示Excel工作表中的单元格对象集、区域对象、行对象集、列对象集。例如:Cells(3,5)表示第3行第5列的那个单元格Range("C5")表示第3行第5列的那个单元格Range("A1:C5")表示从A1单元格到C5单元格的矩形区域Rows(1)表示第1行Range("1:1")表示第1行Range("1:10")表示第1到10行的区域Columns(1)表示第1列Range("A:A")表示第1列Range("A:D")表示从第A到D列-119-11.1.3VB中Excel的启动与关闭例11-1新建立一个VB的工程,在窗体上添加2个命令按钮(Command
4、1和Command2),2个按钮的Caption分别为“启动Excel”和“关闭Excel”,输入以下代码即可。DimxlsAsNewExcel.Application'声明一个Excel应用程序对象DimxbookAsNewExcel.Workbook'声明一个Excel工作薄对象DimxsheetAsNewExcel.Worksheet'声明一个Excel工作表象PrivateSubCommand1_Click()Setxbook=xls.Workbooks.Add'启动Excel,并将自动创建的工作薄赋给xbookSetxsheet=xbook.Worksh
5、eets(1)'将第一个工作表赋给xsheetxls.Visible=True'显示Excel窗口,程序调试阶段显示该窗口非常重要EndSubPrivateSubCommand2_Click()xls.QuitSetxls=Nothing'释放对象变量Setxbook=NothingSetxsheet=NothingEndSub这里将有关对象声明放在通用声明段是为了在两个命令按钮中均可以调用对象xls。11.2VB与Excel的数据交换当VB程序启动Excel后,就可以对其中的单元格进行任意处理了。例11-2随机生成的一组学生成绩数据保存到一个Excel工作表中。
6、新建一个VB工程,引用“MicrosoftExcel11.0objectlibrary”对象库后。在窗体上添加2个按钮(Command1、Command2),Caption属性分别为“生成数据存入Excel”和“保存及并闭Excel”。代码如下:DimxlsAsNewExcel.ApplicationDimxbookAsNewExcel.WorkbookDimxsheetAsNewExcel.WorksheetPrivateSubCommand1_Click()Setxbook=xls.Workbooks.AddSetxsheet=xbook.Worksheets
7、(1)xls.Visible=True'当程序调试成功以后就可以删除此操作xsheet.Cells(1,1)="学号"'填写表头xsheet.Cells(1,2)="高等数学"xsheet.Cells(1,3)="英语"xsheet.Cells(1,4)="大学计算机基础"-119-xsheet.Cells(1,5)="平均成绩"Fori=2To10xsheet.Cells(i,1)="'09108"&1000+I'生成学号Sum=0Forj=2To4xsheet.Cells(i,j)=Int(Rnd()*51)+50Sum=Sum+xsheet.Cells(i,
8、j)Nex
此文档下载收益归作者所有