ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:49.92KB ,
资源ID:5914345      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5914345.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用VB控制EXCEL表的方法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用VB控制EXCEL表的方法.docx

1、利用VB控制EXCEL表的方法使用Vb控制EXCEL表的惯常方法VB是常用的应用软件开发工具,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。一、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从工程菜单中选择引用栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择确定。表示在工程中要引用EXCEL类型库。2、在通用对象的声明过程中

2、定义EXCEL对象:Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkBookDim xlSheet As Excel.Worksheet3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject(Excel.Application) 创建EXCEL对象Set xlBook = xlApp.Workbooks.Open(文件名) 打开已经存在的EXCEL工件簿文件xlApp.Visible = True 设置EXCEL对象可见(或不可见)Set xlSheet = xlBook.Worksheets(表名)

3、设置活动工作表xlApp.Cells(row, col) =值 给单元格(row,col)赋值XLApp.Cells(i, 1).Interior.ColorIndex = i设计单元格颜色i=1-56xlSheet.PrintOut 打印工作表xlBook.Close (True) 关闭工作簿xlApp.Quit 结束EXCEL对象Set xlApp = Nothing 释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) 运行EXCEL关闭宏自己用代码就可以获取颜色列表

4、了 Sub yansecode() For i = 1 To 56 XlApp.Cells(i, 1) = i xlapp.Cells(i, 1).Interior.ColorIndex = i Next End Sub4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。二、 EXCEL的宏功能:EXCEL

5、提供一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的插入模块,则增加一个模块1,在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacr

6、os (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 来运行启动宏和关闭宏。三、 VB与EXCEL的相互勾通:充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EX

7、CEL对象。四、举例:1、在VB中,建立一个FORM,在其上放置两个命令按钮,将ommand1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:Dim xlApp As Excel.Application 定义EXCEL类 Dim xlBook As Excel.Workbook 定义工件簿类Dim xlsheet As Excel.Worksheet 定义工作表类 Private Sub Command1_Click() 打开EXCEL过程If Dir(D:tempexcel.bz) = Then 判断EXCEL是否打开Set xlA

8、pp = CreateObject(Excel.Application) 创建EXCEL应用类xlApp.Visible = True 设置EXCEL可见Set xlBook = xlApp.Workbooks.Open(D:tempbb.xls) 打开EXCEL工作簿Set xlsheet = xlBook.Worksheets(1) 打开EXCEL工作表xlApp .Activate 激活工作表xlApp .Cells(1, 1) = abc 给单元格1行驶列赋值xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏ElseMsgBox (EXCEL已

9、打开) End IfEnd SubPrivate Sub Command2_Click()If Dir(D:tempexcel.bz) Then 由VB关闭EXCEL xlBook.RunAutoMacros (xlAutoClose) 执行EXCEL关闭宏xlBook.Close (True) 关闭EXCEL工作簿xlApp.Quit 关闭EXCELEnd IfSet xlApp = Nothing 释放EXCEL对象EndEnd Sub2、在盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为bb.xls的EXCEL文件。3、在bb.xls中打开Visual Basic编辑

10、器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:Sub auto_open()Open d:tempexcel.bz For Output As #1 写标志文件Close #1End SubSub auto_close()Kill d:tempexcel.bz 删除标志文件End Sub4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开

11、EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。范例一Option ExplicitPrivate Sub Command1_Click()Dim xlApp As Excel.ApplicationDim xlBook As Excel.WorkbookDim xlChar As New Excel.ChartDim xlSheet As New Excel.Worksheet建立需要的对象Set xlApp = New Excel.ApplicationSet xlApp = CreateObject(Excel.Applica

12、tion)Set xlBook = xlApp.Workbooks.Open(F:BOOK1.xls)Set xlSheet = xlBook.Worksheets(1)建立Chart 对象Set xlChar = xlApp.Charts.Add()xlChar.ChartType = xlLineMarkersCall xlChar.SetSourceData(xlSheet.Range(A1:E7), xlColumns) 原数据ActiveChart.Location Where:=xlLocationAsObject, Name:=Sheet1ActiveChart.HasLegen

13、d = TrueActiveChart.Legend.SelectSelection.Position = xlRight选中建立的ChartObjects对象ActiveSheet.ChartObjects(图表 1).ActivateActiveChart.PlotArea.SelectActiveChart.Legend.Select删除 退出(&X) 菜单Dim i As IntegerFor i = 1 To xlApp.CommandBars(File).Controls.CountDebug.Print xlApp.CommandBars(File).Controls(i).Ca

14、ptionIf Left$(xlApp.CommandBars(File).Controls(i).Caption, 2) = 关闭 ThenxlApp.CommandBars(File).Controls(i).Visible = False DeleteExit ForEnd IfNext显示EXCELxlApp.Visible = TrueEnd Sub范例二RichTextBox1Dim xlApp As Excel.ApplicationSet xlApp = New Excel.Application- 然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性

15、和方法。例如:Set xlApp = CreateObject(Excel.Application)激活EXCEL应用程序xlApp.Visible = False 隐藏EXCEL应用程序窗口Set xlBook = xlApp.Workbooks.Open(strDestination)打开工作簿,strDestination为一个EXCEL报表文件Set xlSheet = xlBook.Worksheets(1)设定工作表VB借助EXCEL实现表格设计1、定义EXCEL对象变量dim x as excel.application2、VB中,启动EXCELset x=createobjec

16、t(excel.application)3、新建一个EXCEL工作簿x.workbooks.add4、选定工作表1set xsheet=xbook.worksheets(1)5、指定单元格,并赋值xsheet.cell(1,1)=ret.fields(0)6、指定EXCEL列宽xsheet.column(1).columnwidth=107、RANGE()函数,选定单元格区域range(cells(1,1),cells(10,20)8、设置EXCEL字体xsheet.range(cells(1,1),cells(10,20).font.name=黑体9、设置EXCEL为粗体xsheet.ran

17、ge(cells(1,1),cells(10,20).fontbold=true10、设置EXCEL表格边框xsheet.range(cells(1,1),cells(10,20).borders.linestyle=xlcontinuous11、运行时,显示EXCEL或隐藏EXCELx.visible=true12、保存工作簿xbook save13、退出EXCELx.quit14、交还控制权给EXCELset x=nothing15、打印EXCEL表x.active.window.selectedsheets.printout copies=numcopies16、退出EXCEL时,不出现

18、保存提示。x.displayalerts=false17、怎样运用EXCEL公式?x.range(A3).formula= =max(A1,A2)18、EXCEL代码获取技巧打开EXCEL中的工具-宏-录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程序就行。19、合并单元格代码x.range(A2:A5).inergecells=true20、自动调整列宽代码x.column(A:I).autofit a到 I列自动调整列宽21、文本自动换行代码x.rows(3).wraptext=true22、设置字体颜色x.rows(1).font.colorindex=423、打印预览代码

19、x.worksheets.printpreview24、打开EXCEL文件x.workbooks.open filename:=c:my documentsmy vb lgx dy.xls=如何用VB控制EXCEL生成报表做为一种简捷、系统的 Windows应用程序开发工具,Visual Basic 6 具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取Microsoft SQL Server、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal Report控件及 Crystal Re

20、ports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。Excel作为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel 2000 的控制句柄,从而直接控制Excel 2000的一系列操作。下面给出一个实例:首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮,引用Microsoft Excel类型库:从工程菜单中选择引用栏;选择Microsoft Excel 9.0 Object Library;选择确定。然后在FORM的LOAD事件中加入:Private Sub

21、 Form_Load()数据库及表可以另选,本文以Nwind.mdb为例Data1.DatabaseName = C:Program FilesMicrosoft Visual StudioVB98Nwind.mdbData1.RecordSource = CustomersData1.RefreshEnd Sub在按钮的CLICK事件中加入Private Sub Command1_Click()Dim Irow, Icol As IntegerDim Irowcount, Icolcount As IntegerDim Fieldlen() 存字段长度值Dim xlApp As Excel.

22、ApplicationDim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetSet xlApp = CreateObject(Excel.Application)Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)With Data1.Recordset.MoveLastIf .RecordCount 1 ThenMsgBox (Error 没有记录!)Exit SubEnd IfIrowcount = .RecordCount 记录总数Icolcoun

23、t = .Fields.Count 字段总数ReDim Fieldlen(Icolcount).MoveFirstFor Irow = 1 To Irowcount + 1For Icol = 1 To IcolcountSelect Case IrowCase 1 在Excel中的第一行加标题xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1).NameCase 2 将数组FIELDLEN()存为第一条记录的字段长If IsNull(.Fields(Icol - 1) = True ThenFieldlen(Icol) = LenB(.Fie

24、lds(Icol - 1).Name)如果字段值为NULL,则将数组Filelen(Icol)的值设为标题名的宽度ElseFieldlen(Icol) = LenB(.Fields(Icol - 1)End IfxlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)Excel列宽等于字段长xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)向Excel的CellS中写入字段值Case ElseFieldlen1 = LenB(.Fields(Icol - 1)If Fieldlen(Icol) Fi

25、eldlen1 ThenxlSheet.Columns(Icol).ColumnWidth = Fieldlen1表格列宽等于较长字段长Fieldlen(Icol) = Fieldlen1数组Fieldlen(Icol)中存放最大字段长度值ElsexlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)End IfxlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)End SelectNextIf Irow 1 ThenIf Not .EOF Then .MoveNextEnd IfNextWith

26、xlSheet.Range(.Cells(1, 1), .Cells(1, Icol - 1).Font.Name = 黑体设标题为黑体字.Range(.Cells(1, 1), .Cells(1, Icol - 1).Font.Bold = True标题字体加粗.Range(.Cells(1, 1), .Cells(Irow, Icol - 1).Borders.LineStyle = xlContinuous设表格边框样式End WithxlApp.Visible = True 显示表格xlBook.Save 保存Set xlApp = Nothing 交还控制给ExcelEnd With

27、End Sub本程序在中文Windows98、中文VB6下通过。=VB5.0调用Office97技巧Visual Basic 5.0具有简单、易学等特点,深受初学者的欢迎,但也有一些不如人意的地方。例如,不能像Word 97那样进行拼写检查,不能像Excel 97那样具有很多的函数。如果我们能将Word 97和Exce l97的功能使用在Visual Basic 5.0中,就可以使VB达到锦上添花的目的。我们知道所有Office 97 应用程序都提供了ActiveX对象,我们可以在Visual Basic 5.0中使用它们调用Word 97要想在VB中调用Word 97,首先要打开VB的工程菜

28、单中的引用项目,并在该项目对话框中选定Microsoft Word 8.0 Object Library就可以了。下面我们举例说明调用Word 97中的拼写检查和单词统计功能。首先新建一个工程并在窗体上放置一个TextBox控件和两个CommandButton控件,然后添入如下的代码: Option Explicit Dim Doc As New Document Dim Visi As Boolean拼写检查 Private Sub Command1Click() Form1.Caption = 拼写检查 Doc.Range.Text = Text1确定范围 Doc.Application.

29、Visible = True 将Word 97变为可见 AppActivate Doc.Application.Caption激活Word 97 Doc.Range.CheckSpelling拼写检查 Text1 = Doc.Range.Text Text1 = Left(Text1, Len(Text1) 1) AppActivate Caption End Sub 统计单词数 Private Sub Command2Click() Dim Dlg As Word.Dialog Doc.Range = Text1.Text Set Dlg = Doc.Application.Dialogs

30、(wdDialogDocumentStatistics) Dlg.Execute 统计单词和字符 Form1.Caption =单词数: Str(Dlg.Words) 词 Str(Dlg.Characters) 字符 显示统计结果 End SubTop范例三 Private Sub FormLoad() Form1.Caption =调用Word 97 Text1.Text = Command1.Caption = 拼写检查 Command2.Caption = 统计单词 使应用程序可见 Visi = Doc.Application.Visible End Sub 关闭应用程序 Private

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

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