VB导出EXCEL的代码Word文件下载.docx

上传人:b****7 文档编号:22210412 上传时间:2023-02-03 格式:DOCX 页数:10 大小:19.26KB
下载 相关 举报
VB导出EXCEL的代码Word文件下载.docx_第1页
第1页 / 共10页
VB导出EXCEL的代码Word文件下载.docx_第2页
第2页 / 共10页
VB导出EXCEL的代码Word文件下载.docx_第3页
第3页 / 共10页
VB导出EXCEL的代码Word文件下载.docx_第4页
第4页 / 共10页
VB导出EXCEL的代码Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

VB导出EXCEL的代码Word文件下载.docx

《VB导出EXCEL的代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《VB导出EXCEL的代码Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

VB导出EXCEL的代码Word文件下载.docx

Nextj

Nexti

aa:

ExitSub

EndSub

以下放到一个导出按钮上去就行了。

Calltoexcel

从"

工程"

菜单中选择"

引用"

栏;

选择MicrosoftExcel 

 

14.0ObjectLibrary,然后选择"

确定"

表示在工程中要引用EXCEL类型库。

然后就是实现从MSHFlexGrid控件中将数据导出到EXCEL表中(注意:

MSHFlexGrid控件是从第0行,第0列开始的,而EXCEL却是从第1行,第1列开始的)。

代码如下:

[vb]viewplaincopyprint?

1.Dim 

As 

Long 

Dim 

2. 

If 

myFlexGrid.TextMatrix(1, 

0) 

"

Then 

3. 

MsgBox 

没有数据导出"

 

vbInformation, 

提示"

4. 

Exit 

Sub 

5. 

End 

6.'

创建一个Application对象 

7. 

excelApp 

Excel.Application 

8. 

Set 

New 

9.'

绑定 

10. 

CreateObject("

) 

11.'

向Excel中写入数据 

12. 

exbook 

Excel.Workbook 

13. 

exsheet 

Excel.Worksheet 

14. 

excelApp.Workbooks.Add 

15. 

excelApp.SheetsInNewWorkbook 

16.'

设置为可见 

17. 

excelApp.Visible 

True 

18.'

将控件MSHFlexGrid显示的内容写入Excel中 

19. 

With 

excelApp.ActiveSheet 

20. 

For 

To 

myFlexGrid.Rows 

21. 

myFlexGrid.Cols 

22. 

.Cells(i, 

j).Value 

&

Format$(myFlexGrid.TextMatrix(i 

1, 

1)) 

23. 

Next 

24. 

25. 

26. 

清空并关闭 

27. 

Nothing 

28. 

29. 

DimiAsLongDimjAsLong

IfmyFlexGrid.TextMatrix(1,0)="

Then

MsgBox"

vbInformation,"

ExitSub

EndIf

创建一个Application对象

DimexcelAppAsExcel.Application

SetexcelApp=NewExcel.Application

绑定

SetexcelApp=CreateObject("

向Excel中写入数据

DimexbookAsExcel.Workbook

DimexsheetAsExcel.Worksheet

Setexbook=excelApp.Workbooks.Add

excelApp.SheetsInNewWorkbook=1

设置为可见

excelApp.Visible=True

将控件MSHFlexGrid显示的内容写入Excel中

WithexcelApp.ActiveSheet

Fori=1TomyFlexGrid.Rows

Forj=1TomyFlexGrid.Cols

.Cells(i,j).Value="

&

Format$(myFlexGrid.TextMatrix(i-1,j-1))

Nextj

Nexti

EndWith

清空并关闭

Setexsheet=Nothing

Setexbook=Nothing

SetexcelApp=Nothing

以上只是用到EXCEL与VB交互的最基本的内容,下面我们来做一些扩展:

首先创建Excel对象,使用ComObj:

DimexcelAppasExcel.Application

SetexcelAppasnewExcel.Application

1)显示当前窗口:

excelApp.Visible=True

2)更改Excel标题栏:

excelApp.Caption='

学生上机记录'

;

3)添加新工作簿:

excelApp.WorkBooks.Add;

4)打开已存在的工作簿:

EexcelApp.WorkBooks.Open('

CExcelDemo.xls'

);

5)设置第2个工作表为活动工作表:

excelApp.WorkSheets

(2).Activate;

或excelApp.WorkSheets('

Sheet2'

).Activate;

6)给单元格赋值:

excelApp.Cells(1,4).Value='

第一行,第四列'

12)清除第一行第四列单元格公式:

excelApp.ActiveSheet.Cells(1,4).ClearContents;

13)设置第一行字体属性:

excelApp.ActiveSheet.Rows

(1).Font.Name='

隶书'

excelApp.ActiveSheet.Rows

(1).Font.Color=clBlue;

excelApp.ActiveSheet.Rows

(1).Font.Bold=True;

excelApp.ActiveSheet.Rows

(1).Font.UnderLine=True;

k.打印单元格网线:

excelApp.ActiveSheet.PageSetup.PrintGridLines=True;

15)拷贝操作:

a.拷贝整个工作表:

excelApp.ActiveSheet.Used.Range.Copy;

b.拷贝指定区域:

excelApp.ActiveSheet.Range('

A1E2'

).Copy;

c.从A1位置开始粘贴:

excelApp.ActiveSheet.Range.('

A1'

).PasteSpecial;

d.从文件尾部开始粘贴:

excelApp.ActiveSheet.Range.PasteSpecial;

16)插入一行或一列:

a.excelApp.ActiveSheet.Rows

(2).Insert;

b.excelApp.ActiveSheet.Columns

(1).Insert;

17)删除一行或一列:

a.excelApp.ActiveSheet.Rows

(2).Delete;

b.excelApp.ActiveSheet.Columns

(1).Delete;

18)打印预览工作表:

excelApp.ActiveSheet.PrintPreview;

19)打印输出工作表:

excelApp.ActiveSheet.PrintOut;

20)工作表保存:

IfnotexcelApp.ActiveWorkBook.Savedthen

excelApp.ActiveSheet.PrintPreview

Endif

21)工作表另存为:

excelApp.SaveAs('

CExcelDemo1.xls'

22)放弃存盘:

excelApp.ActiveWorkBook.Saved=True;

23)关闭工作簿:

excelApp.WorkBooks.Close;

24)退出Excel:

excelApp.Quit;

25)设置工作表密码

excelApp.ActiveSheet.Protect"

123"

DrawingObjects=True,Contents=True,Scenarios=True

26)EXCEL的显示方式为最大化

excelApp.Application.WindowState=xlMaximized

27)工作薄显示方式为最大化

excelApp.ActiveWindow.WindowState=xlMaximized

28)设置打开默认工作薄数量

excelApp.SheetsInNewWorkbook=3

29)'

关闭时是否提示保存(true保存;

false不保存)

excelApp.DisplayAlerts=False

VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。

因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。

但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

一、VB读写EXCEL表:

VB本身提自动化功能可以读写EXCEL表,其方法如下:

1、在工程中引用MicrosoftExcel类型库:

选择MicrosoftExcel9.0ObjectLibrary(EXCEL2000),然后选择"

2、在通用对象的声明过程中定义EXCEL对象:

DimxlAppAsExcel.Application

DimxlBookAsExcel.WorkBook

DimxlSheetAsExcel.Worksheet

3、在程序中操作EXCEL表常用命令:

SetxlApp=CreateObject("

创建EXCEL对象

SetxlBook=xlApp.Workbooks.Open("

文件名"

打开已经存在的EXCEL工件簿文件

xlApp.Visible=True'

设置EXCEL对象可见(或不可见)

SetxlSheet=xlBook.Worksheets("

表名"

设置活动工作表

xlSheet.Cells(row,col)=值'

给单元格(row,col)赋值

xlSheet.PrintOut'

打印工作表

xlBook.Close(True)'

关闭工作簿

xlApp.Quit'

结束EXCEL对象

SetxlApp=Nothing'

释放xlApp对象

xlBook.RunAutoMacros(xlAutoOpen)'

运行EXCEL启动宏

xlBook.RunAutoMacros(xlAutoClose)'

运行EXCEL关闭宏

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是否打开,如果此标志文件存在,表明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工作表

xlsheet.Activate'

激活工作表

xlsheet.Cells(1,1)="

abc"

给单元格1行驶列赋值

xlBook.RunAutoMacros(xlAutoOpen)运行EXCEL中的启动宏

Else

MsgBox("

EXCEL已打开"

EndIf

EndSub

PrivateSubCommand2_Click()

)<

>

"

由VB关闭EXCEL

执行EXCEL关闭宏

关闭EXCEL工作簿

关闭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的无缝连接。

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1