VB操作EXCEL表的常用方法Word文档格式.docx

上传人:b****2 文档编号:236513 上传时间:2023-04-28 格式:DOCX 页数:128 大小:52.24KB
下载 相关 举报
VB操作EXCEL表的常用方法Word文档格式.docx_第1页
第1页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第2页
第2页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第3页
第3页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第4页
第4页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第5页
第5页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第6页
第6页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第7页
第7页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第8页
第8页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第9页
第9页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第10页
第10页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第11页
第11页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第12页
第12页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第13页
第13页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第14页
第14页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第15页
第15页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第16页
第16页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第17页
第17页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第18页
第18页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第19页
第19页 / 共128页
VB操作EXCEL表的常用方法Word文档格式.docx_第20页
第20页 / 共128页
亲,该文档总共128页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB操作EXCEL表的常用方法Word文档格式.docx

《VB操作EXCEL表的常用方法Word文档格式.docx》由会员分享,可在线阅读,更多相关《VB操作EXCEL表的常用方法Word文档格式.docx(128页珍藏版)》请在冰点文库上搜索。

VB操作EXCEL表的常用方法Word文档格式.docx

表名"

设置活动工作表

xlApp.Cells(row,col)=值'

给单元格(row,col)赋值

XLApp.Cells(i,1).Interior.ColorIndex=i'

设计单元格颜色i=1--56

xlSheet.PrintOut'

打印工作表

xlBook.Close(True)'

关闭工作簿

xlApp.Quit'

结束EXCEL对象

SetxlApp=Nothing'

释放xlApp对象

1

xlBook.RunAutoMacros(xlAutoOpen)'

运行EXCEL启动宏

xlBook.RunAutoMacros(xlAutoClose)'

运行EXCEL关闭宏

自己用代码就可以获取颜色列表了

Subyansecode()

Fori=1To56

XlApp.Cells(i,1)=i

xlapp.Cells(i,1).Interior.ColorIndex=i

Next

EndSub

4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。

形成VB程序无法完全控制EXCEL的状况,

使得VB与EXCEL脱节。

二、EXCEL的宏功能:

EXCEL提供一个VisualBasic编辑器,打开VisualBasic编辑器,其中有一工程属性窗口,点击右键

菜单的"

插入模块"

,则增加一个"

模块1"

,在此模块中可以运用VisualBasic语言编写函数和过程并称之为

宏。

其中,EXCEL有两个自动宏:

一个是启动宏(SubAuto_Open()),另一个是关闭宏(SubAuto_Close())。

它们的特性是:

当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作

簿时就会自动运行关闭宏。

但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运

行,而需要在VB中通过命令xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)

来运行启动宏和关闭宏。

三、VB与EXCEL的相互勾通:

充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。

VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文

2

件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。

如果此标志文件不存在,表明EXCEL对象已

被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

四、举例:

1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2

的Caption属性改为End。

然后在其中输入如下程序:

DimxlAppAsExcel.Application'

定义EXCEL类

DimxlBookAsExcel.Workbook'

定义工件簿类

DimxlsheetAsExcel.Worksheet'

定义工作表类

PrivateSubCommand1_Click()'

打开EXCEL过程

IfDir("

D:

\temp\excel.bz"

)="

"

Then'

判断EXCEL是否打开

创建EXCEL应用类

设置EXCEL可见

\temp\bb.xls"

打开EXCEL工作簿

Setxlsheet=xlBook.Worksheets

(1)'

打开EXCEL工作表

xlApp.Activate'

激活工作表

xlApp.Cells(1,1)="

abc"

'

给单元格1行驶列赋值

运行EXCEL中的启动宏

Else

MsgBox("

EXCEL已打开"

EndIf

PrivateSubCommand2_Click()

)<

>

"

由VB关闭EXCEL

执行EXCEL关闭宏

关闭EXCEL工作簿

3

关闭EXCEL

释放EXCEL对象

End

2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"

bb.xls"

的EXCEL文件。

3、在"

中打开VisualBasic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下

程序存盘:

Subauto_open()

Open"

d:

ForOutputAs#1'

写标志文件

Close#1

Subauto_close()

Kill"

删除标志文件

4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两

个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提

示EXCEL已打开。

如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。

而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。

这样就实现了VB与EXCEL的无缝连接。

4

范例一

OptionExplicit

PrivateSubCommand1_Click()

DimxlBookAsExcel.Workbook

DimxlCharAsNewExcel.Chart

DimxlSheetAsNewExcel.Worksheet

'

建立需要的对象

SetxlApp=NewExcel.Application

F:

\BOOK1.xls"

SetxlSheet=xlBook.Worksheets

(1)

建立Chart对象

SetxlChar=xlApp.Charts.Add()

xlChar.ChartType=xlLineMarkers

CallxlChar.SetSourceData(xlSheet.Range("

A1:

E7"

),xlColumns)'

原数据

ActiveChart.LocationWhere:

=xlLocationAsObject,Name:

="

Sheet1"

ActiveChart.HasLegend=True

ActiveChart.Legend.Select

Selection.Position=xlRight

选中建立的ChartObjects对象

ActiveSheet.ChartObjects("

图表1"

).Activate

ActiveChart.PlotArea.Select

删除退出(&

X)菜单

5

DimiAsInteger

Fori=1ToxlApp.CommandBars("

File"

).Controls.Count

Debug.PrintxlApp.CommandBars("

).Controls(i).Caption

IfLeft$(xlApp.CommandBars("

).Controls(i).Caption,2)="

关闭"

Then

xlApp.CommandBars("

).Controls(i).Visible=False'

Delete

ExitFor

显示EXCEL

xlApp.Visible=True

范例二

RichTextBox1

----然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。

如:

‘激活EXCEL应用程序

xlApp.Visible=False‘隐藏EXCEL应用程序窗口

SetxlBook=xlApp.Workbooks.Open(strDestination)

‘打开工作簿,strDestination为一个EXCEL报表文件

‘设定工作表

6

VB借助EXCEL实现表格设计

1、定义EXCEL对象变量

dimxasexcel.application

2、VB中,启动EXCEL

setx=createobject("

excel.application"

3、新建一个EXCEL工作簿

x.workbooks.add

4、选定工作表1

setxsheet=xbook.worksheets

(1)

5、指定单元格,并赋值

xsheet.cell(1,1)=ret.fields(0)

6、指定EXCEL列宽

xsheet.column

(1).columnwidth=10

7、RANGE()函数,选定单元格区域

range(cells(1,1),cells(10,20))

8、设置EXCEL字体

xsheet.range(cells(1,1),cells(10,20)).font.name="

黑体"

9、设置EXCEL为粗体

xsheet.range(cells(1,1),cells(10,20)).fontbold=true

10、设置EXCEL表格边框

xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous

11、运行时,显示EXCEL或隐藏EXCEL

x.visible=true

12、保存工作簿

xbooksave

7

13、退出EXCEL

x.quit

14、交还控制权给EXCEL

setx=nothing

15、打印EXCEL表

x.active.window.selectedsheets.printoutcopies=numcopies

16、退出EXCEL时,不出现保存提示。

x.displayalerts=false

17、怎样运用EXCEL公式?

x.range("

A3"

).formula="

=max(A1,A2)"

18、EXCEL代码获取技巧

打开EXCEL中的工具----宏----录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程

序就行。

19、合并单元格代码

A2:

A5"

).inergecells=true

20、自动调整列宽代码

x.column("

A:

I"

).autofit'

a到I列自动调整列宽

21、文本自动换行代码

x.rows(3).wraptext=true

22、设置字体颜色

x.rows

(1).font.colorindex=4

23、打印预览代码

x.worksheets.printpreview

24、打开EXCEL文件

x.workbooks.openfilename:

c:

\mydocuments\myvb\lgx\dy.xls"

8

====================================================================================

如何用VB控制EXCEL生成报表

做为一种简捷、系统的Windows应用程序开发工具,VisualBasic6具有强大的数据处理功能,提供

了多种数据访问方法,可以方便地存取MicrosoftSQLServer、Oracle、XBase等多种数据库,被广泛应用

于建立各种信息管理系统。

但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal

Report控件及CrystalReports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。

Excel作

为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel2000的控制句柄,从而直接控制Excel2000的一系列操作。

下面给出一个实例:

首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮,引用MicrosoftExcel类型库:

栏;

选择MicrosoftExcel9.0ObjectLibrary;

选择"

确定"

然后在FORM的LOAD事件中加入:

PrivateSubForm_Load()'

数据库及表可以另选,本文以Nwind.mdb为例

Data1.DatabaseName="

C:

\ProgramFiles\MicrosoftVisualStudio\VB98\Nwind.mdb"

Data1.RecordSource="

Customers"

Data1.Refresh

在按钮的CLICK事件中加入

DimIrow,IcolAsInteger

DimIrowcount,IcolcountAsInteger

DimFieldlen()'

存字段长度值

9

SetxlBook=xlApp.Workbooks.Add

WithData1.Recordset

.MoveLast

If.RecordCount<

1Then

Error没有记录!

ExitSub

Irowcount=.RecordCount'

记录总数

Icolcount=.Fields.Count'

字段总数

ReDimFieldlen(Icolcount)

.MoveFirst

ForIrow=1ToIrowcount+1

ForIcol=1ToIcolcount

SelectCaseIrow

Case1'

在Excel中的第一行加标题

xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1).Name

Case2'

将数组FIELDLEN()存为第一条记录的字段长

IfIsNull(.Fields(Icol-1))=TrueThen

Fieldlen(Icol)=LenB(.Fields(Icol-1).Name)

如果字段值为NULL,则将数组Filelen(Icol)的值设为标题名的宽度

Fieldlen(Icol)=LenB(.Fields(Icol-1))

10

xlSheet.Columns(Icol).ColumnWidth=Fieldlen(Icol)

Excel列宽等于字段长

xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1)

向Excel的CellS中写入字段值

CaseElse

Fieldlen1=LenB(.Fields(Icol-1))

IfFieldlen(Icol)<

Fieldlen1Then

xlSheet.Columns(Icol).ColumnWidth=Fieldlen1

表格列宽等于较长字段长

Fieldlen(Icol)=Fieldlen1

数组Fieldlen(Icol)中存放最大字段长度值

EndSelect

IfIrow<

IfNot.EOFThen.MoveNext

WithxlSheet

.Range(.Cells(1,1),.Cells(1,Icol-1)).Font.Name="

设标题为黑体字

.Range(.Cells(1,1),.Cells(1,Icol-1)).Font.Bold=True

11

标题字体加粗

.Range(.Cells(1,1),.Cells(Irow,Icol-1)).Borders.LineStyle=xlContinuous

设表格边框样式

EndWith

显示表格

xlBook.Save'

保存

交还控制给Excel

本程序在中文Windows98、中文VB6下通过。

12

===================================================

VB5.0调用Office97技巧

VisualBasic5.0具有简单、易学等特点,深受初学者

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2