《Visual Basic程序设计》课件1第12章_第1页
《Visual Basic程序设计》课件1第12章_第2页
《Visual Basic程序设计》课件1第12章_第3页
《Visual Basic程序设计》课件1第12章_第4页
《Visual Basic程序设计》课件1第12章_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论