版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*第12章VB与Excel12.1VB中Excel的相关操作
12.2VB与Excel的数据交换
12.3VB对Excel的排版操作
12.4利用Excel中宏编写VBA代码
12.1VB中Excel的相关操作
12.1.1Excel对象库引用
在VB中引用Excel对象,首先需要打开VB编程环境“工程”菜单中的“引用”功能项,并选取项目中的“MicrosoftExcel11.0objectlibrary”(Excel版本不同,这个选项中的版本号可能不一样)即可。引用Excel对象库后,对编写代码会带来很多便利。12.1.2Excel对象声明
Excel是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。编程过程中主要用到以下4个层次的对象。
(1) Application对象,即Excel程序本身。
(2) WorkBook对象,即Excel的工作簿文件对象。
(3) WorkSheets对象表示的是Excel的工作表对象集。
(4) Cells、Range、Rows、Columns对象分别表示Excel工作表中的单元格对象集、区域对象、行对象集、列对象集。12.1.3VB中Excel的启动与关闭
例12-1
新建立一个VB的工程,在窗体上添加2个命令按钮(Command1,Command2),按钮的Caption属性分别为“启动Excel”和“关闭Excel”。
按照12.1.1节所述方法引入Excel对象库后输入以下代码即可。
DimxlsAsNewExcel.Application '声明一个Excel应用程序对象
DimxbookAsNewExcel.Workbook '声明一个Excel工作簿对象
DimxsheetAsNewExcel.Worksheet '声明一个Excel工作表对象
12.2VB与Excel的数据交换
例12-2
将在VB中随机生成的一组学生成绩数据保存到一个Excel工作簿中。
新建一个VB工程,引用“MicrosoftExcel11.0objectlibrary”对象库后,在窗体上添加2个按钮(Command1,Command2),它们的Caption属性分别为“生成数据存入Excel”和“保存及关闭Excel”。
程序代码如下:
12.3VB对Excel的排版操作
VB不仅可以与Excel实现数据交换,还可以对Excel进行删除或插入表行、列以及各种排版操作。
以下程序代码可以实现将例12-1生成的文件打开并执行排版操作:将标题行高设置为40磅,合并后水平居中、垂直居中,字体为隶书,字号为24磅,对表中的行加上表线。同例12-1一样,在窗体上添加2个命令按钮,并通过“工程”菜单“引用”Excel对象库后,录入以下代码:
DimxlsAsNewExcel.Application
DimxbookAsNewExcel.Workbook
DimxsheetAsNewExcel.Worksheet
PrivateSubCommand1_Click() 12.4利用Excel中宏编写VBA代码
VBA(VisualBasicforApplication)是微软应用程序共享的一种通用自动化语言,也就是通常说的“宏”。它在语法上与VB一致,可以说VBA是VB的一个子集,主要用于Office的自动化编程。要全面掌握Excel中的VBA语言是非常困难的,因为涉及到太多的对象、属性及其方法,但利用微软公司提供的宏录制功能,学习就变得易如反掌。
宏就是一段程序,存在于Office系列应用软件中,如Word、Excel、PowerPoint、OutLook等。对这些应用软件的所有操作步骤都录制成宏代码,然后再对宏代码进行分析,是学习VBA最好的方法。下面以Excel为例介绍宏的录制方法。在Excel中设置单元格的字体、字号、边框线的VBA代码的操作步骤如下:
(1)启动Excel,在任何一个单元格中录入一些内容,如在C4单元格内录入“中华人民共和国”,选择“工具”→“宏”→“录制新宏”,界面如图12-1所示。图12-1“录制新宏”对话框所有内容均使用默认,单击“确定”按钮,Excel界面上会多一个宏录制工具栏,如图12-2所示。图12-2处于宏录制状态的Excel界面
(2)选中单元格“C4”,设置字体为“黑体”,字号为24磅,左右加边框,完成这些操作后单击宏录制工具栏中的停止录制按钮,结束宏录制。
(3)按Alt + F11键进入Excel中的VBA集成开发环境,这个界面和VB的集成开发环境非常相似,如图12-3所示。图12-3VBA集成开发环境
(4)展开窗口左侧的“模块”,可以看到其中的“模块1”,这就是刚才录制的宏,双击“模块1”,可以在窗口右侧看到录制的宏代码,如图12-4所示。图12-4宏代码由于宏会对每一个步骤分别进行录制,所以代码看起来特别繁琐,可以将其中没有进行特别处理的代码全部删除,这样就可以得到想要的VBA指令了。简化后的VBA代码如图12-5所示。图12-5简化后的VBA代码以上代码其实还可以再简化如下:
SubMacro1()
Selection.Font.Name="黑体"
Selection.Font.Size=24
Selection.Borders(xlEdgeLeft).LineStyle=xlContinuous
Selection.Borders(xlEdgeRight).LineStyle=xlContinuous
EndSub通过以上步骤,就可以学习Excel中对字体、字号、边框线的设置方法,也就可以直接用于VB中对Excel的控制了。
假设VB中Excel应用程序的对象名为xls,以下是部分操作的代码:
(1)显示当前窗口:
xls.Visible=True
(2)更改Excel标题栏:
xls.Caption:="应用程序调用MicrosoftExcel"
(3)添加新工作簿:
xls.WorkBooks.Add
(4)打开已存在的工作簿:
xls.WorkBooks.Open("c:\temp.xls")
(5)设置第2个工作表为活动工作表:
xls.WorkSheets(2).Activate
或
xls.WorkSheets("Sheet2").Activate
(6)给单元格赋值:
xls.Cells(1,4).Value="第一行第四列"
(7)设置指定列的宽度(单位:字符个数),以第一列为例:
xls.ActiveSheet.Columns(1).ColumnsWidth=5
(8)设置指定行的高度(单位:磅,1磅=0.035 cm),以第二行为例:
xls.ActiveSheet.Rows(2).RowHeight=1/0.035' 1 cm
(9)在第8行之前插入分页符:
xls.WorkSheets(1).Rows(8).PageBreak=1
(10)指定边框线宽度:
xls.ActiveSheet.Range("B3:D4").Borders(2).Weight
=3
(11)设置第一行字体属性:
Xls.ActiveSheet.Rows(1).Font.Name='隶书'
Xls.ActiveSheet.Rows(1).Font.Color=clBlue
Xls.ActiveSheet.Rows(1).Font.Bold=True
Xls.ActiveSheet.Rows(1).Font.UnderLine=True
(12)进行页面设置:
·页眉:Xls.ActiveSheet.PageSetup.CenterHeader="报表演示"
·页脚:Xls.ActiveSheet.PageSetup.CenterFooter="第&P页"
·页眉到顶端边距2cm:Xls.ActiveSheet.PageSetup.HeaderMargin=2/0.035
·页脚到底端边距3cm:Xls.ActiveSheet.PageSetup.footerMargin=3/0.035
·顶边距2cm:Xls.ActiveSheet.PageSetup.TopMargin=2/0.035
·底边距2cm:Xls.ActiveSheet.PageSetup.BottomMargin=2/0.035
·左边距2cm:Xls.ActiveSheet.PageSetup.LeftMargin=2/0.035
·右边距2cm:Xls.ActiveSheet.PageSetup.RightMargin=2/0.035
·页面水平居中:Xls.ActiveSheet.PageSetup.CenterHorizontally=True
·页面垂直居中:Xls.ActiveSheet.PageSetup.CenterVertically=True
·打印单元格网线:Xls.ActiveSheet.PageSetup.PrintGridLines=True
(13)拷贝操作:
·拷贝整个工作表:Xls.ActiveSheet.Used.Range.Copy
·拷贝指定区域:Xls.ActiveSheet.Range("A1:E2").Copy
·从A1位置开始粘贴:Xls.ActiveSheet.Range.("A1").PasteSpecial
·从文件尾部开始粘贴:Xls.ActiveSheet.Range.PasteSpecial
(14)插入一行或一列:
·在第2行上面插入一行:Xls.ActiveSheet.Rows(2).Insert
·在第1列左侧插入一列:Xls.ActiveSheet.Columns(1).Insert
(15)删除一行或一列:
·删除第2行:Xls.ActiveSheet.Rows(2).Delete
·删除第1列:Xls.ActiveSheet.Columns(1).Delete
(16)打印预览工作表:
Xls.ActiveSheet.PrintPreview
(17)打印输出工作表:
Xls.ActiveSheet.PrintOut
(18)工作表保存:
Xls.ActiveWorkBook.Save
(19)工作表另存为:
Xls.SaveAs("c:\temp.xls")
(20)退出Excel:
Xls.Quit
(21)设置打开默认工作簿数量:
Xls.SheetsInNewWorkbook=3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上海华东师范大学河口海岸全国重点实验室系统生态学课题组招聘备考题库及答案详解(典优)
- 无人机行业应用(航测)电子教案 1.22 点云
- 2026湖北长江广电整合传播有限公司招聘工作人员16人备考题库附答案详解(达标题)
- 2026中铁华铁工程设计集团有限公司区域指挥部招聘备考题库含答案详解(满分必刷)
- 2026广西南宁市良庆区财政局招聘工作人员1人备考题库附答案详解
- 2026湖南长沙华程康复医院招聘13人备考题库附答案详解(巩固)
- 2026上半年重庆市南岸区从后备人选库中招录社区工作者60人备考题库附答案详解(a卷)
- 2026河南郑州博爵国际学校招聘12人备考题库含答案详解(夺分金卷)
- 2026重庆垫江县人民政府桂阳街道办事处招聘公益性岗位人员12人备考题库附答案详解(满分必刷)
- 2026年温州大学附属学校、温州中学附属初中面向社会公开招聘教师31人备考题库含答案详解(模拟题)
- 2024年上海市金山区储备人才招聘笔试真题
- 电力营销安全培训
- 中国共产主义青年团团章
- DB41T+2740-2024内河闸控航道通航技术要求
- GB/T 23596-2024海苔及其制品质量通则
- 湖北汉江王甫洲水力发电限责任公司公开招聘工作人员【6人】高频考题难、易错点模拟试题(共500题)附带答案详解
- 金属面夹芯板应用技术规程
- 四川公路工程施工监理统一用表汇编附表1-2工序质量检查表格填报规定(路基、隧道)
- 送变电公司管理制度
- 国开2023法律职业伦理-形考册答案
- 中药制剂检测技术第五章中药制剂的卫生学检查课件
评论
0/150
提交评论