VB操纵EXCEL大全2008-02-2611:07范例一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.Application")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:="Sheet1" ActiveChart.HasLegend=TrueActiveChart.Legend.SelectSelection.Position=xlRight'选中建立的ChartObjects对象ActiveSheet.ChartObjects("图表1").ActivateActiveChart.PlotArea.SelectActiveChart.Legend.Select'删除退出(&X)菜单Dim i As IntegerFor i=1To mandBars("File").Controls.CountDebug.Print mandBars("File").Controls(i).CaptionIf Left$(mandBars("File").Controls(i).Caption,2)="关闭" ThenmandBars("File").Controls(i).Visible=False'DeleteExit ForEnd IfNext'显示EXCELxlApp.Visible=TrueEnd Sub范例二RichTextBox1Dim xlApp As Excel.ApplicationSet xlApp=New Excel.Application----然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。
例如: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=createobject("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))="黑体"9、设置EXCEL为粗体xsheet.range(cells(1,1),cells(10,20)).fontbold=true10、设置EXCEL表格边框xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous 11、运行时,显示EXCEL或隐藏EXCELx.visible=true12、保存工作簿xbook save13、退出EXCELx.quit14、交还控制权给EXCELset x=nothing15、打印EXCEL表x.active.window.selectedsheets.printout copies=numcopies16、退出EXCEL时,不出现保存提示。
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、打印预览代码x.worksheets.printpreview24、打开EXCEL文件x.workbooks.open filename:="c:\my documents\my vb\lgx\dy.xls"===================================================================== =================================如何用VB控制EXCEL生成报表贾利冬()做为一种简捷、系统的Windows应用程序开发工具,Visual Basic6具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取Microsoft SQLServer、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。
但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal Report控件及Crystal Reports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。
Excel作为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE 自动化技术获取Excel2000的控制句柄,从而直接控制Excel2000的一系列操作。
下面给出一个实例:首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮,引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel9.0Object Library;选择"确定"。
然后在FORM的LOAD事件中加入:Private Sub Form_Load()'数据库及表可以另选,本文以Nwind.mdb为例Data1.DatabaseName="C:\Program Files\Microsoft VisualStudio\VB98\Nwind.mdb"Data1.RecordSource="Customers"Data1.RefreshEnd Sub在按钮的CLICK事件中加入Private Sub Command1_Click()Dim Irow,Icol As IntegerDim Irowcount,Icolcount As IntegerDim Fieldlen()'存字段长度值Dim xlApp As Excel.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<1ThenMsgBox("Error没有记录!")Exit SubEnd IfIrowcount=.RecordCount'记录总数Icolcount=.Fields.Count'字段总数ReDim Fieldlen(Icolcount).MoveFirstFor Irow=1To Irowcount+1For Icol=1To IcolcountSelect Case IrowCase1'在Excel中的第一行加标题xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1).NameCase2'将数组FIELDLEN()存为第一条记录的字段长If IsNull(.Fields(Icol-1))=True ThenFieldlen(Icol)=LenB(.Fields(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)<Fieldlen1ThenxlSheet.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<>1ThenIf Not.EOF Then.MoveNextEnd IfNextWith xlSheet.Range(.Cells(1,1),.Cells(1,Icol-1))="黑体"'设标题为黑体字.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 WithEnd Sub本程序在中文Windows98、中文VB6下通过。