怎样实现用VB对EXCEL的操作

合集下载

VB与excel通讯

VB与excel通讯

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

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

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

一、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。

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

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("表名") '设置活动工作表xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值xlSheet.PrintOut '打印工作表xlBook.Close (True) '关闭工作簿xlApp.Quit '结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

用VB操作Excel的方法

用VB操作Excel的方法

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

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

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

一、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。

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

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("表名") '设置活动工作表xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值xlSheet.PrintOut '打印工作表xlBook.Close (True) '关闭工作簿xlApp.Quit '结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

VB中操作Excel(创建EXCEL的OLE对象,前提,主机已安装EXCEL)

VB中操作Excel(创建EXCEL的OLE对象,前提,主机已安装EXCEL)

VB中操作Excel(创建EXCEL的OLE对象,前提,主机已安装EXCEL)一、Excel对象模型为了在VB应用程序中调用Excel,必须要了解Excel对象模型。

Excel对象模型描述了Excel的理论结构,所提供的对象很多,其中最重要的对象,即涉及VB调用Excel最可能用到的对象有:二、调用Excel在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。

1、在VB工程中添加对Excel类型库的引用为了能从VB应用程序中访问Excel丰富的内部资源,使Excel应用程序运行得更快,需要在VB工程中添加对Excel类型库的引用。

具体步骤如下:a)从VB5“工程”菜单中选择“引用”;b)在“引用”对话框中选择Excel类型库:"Microsoft Excel9.0 Object Library";c)单击左边小方框,使之出现“√”符号;d)按“确定”退出。

注:要想在VB应用程序中调用Excel,你的计算机系统中必须安装Excel。

2、引用Application对象Application对象是Excel对象模型的顶层,表示整个Excel应用程序。

在VB应用程序中调用Excel,就是使用Application对象的属性、方法和事件。

为此,首先要声明对象变量:或直接声明为Excel对象:在声明对象变量之后,可用CreateObject函数或GetObject函数给变量赋值新的或已存在的Application对象引用。

a)用CreateObject函数生成新的对象引用:字符串“Excel.Application”是提供Excel应用程序的编程ID,这个变量引用Excel应用程序本身。

b)用GetO场ect函数打开已存在的对象引用:上面语句打开文件SAMP.XLS。

3、Application对象常用的属性、方法示例1:求值数学表达式:三、使用Excel应用程序如前所述,在VB应用程序中调用Excel应用程序,就是使用Application对象的属性、方法和事件。

VB打开EXCEL的方法

VB打开EXCEL的方法

VB打开EXCEL的方法在Visual Basic中,可以使用多种方法打开Excel文件。

以下是其中一些常用的方法。

1. 使用Excel对象库:使用Excel对象库可以直接在VB中打开Excel文件,并获取其内容。

首先,需要在VB项目中引用Excel对象库。

打开VB项目,在树状视图中选择"项目",然后选择"引用"。

在"可用组件"中找到"Microsoft Excel x.x Object Library"(其中 x.x 是Excel的版本号),勾选并点击"确定"。

接下来,可以使用以下代码打开Excel文件:```vbImports Excel = Microsoft.Office.Interop.ExcelDim xlApp As Excel.ApplicationDim xlWorkbook As Excel.WorkbookDim xlWorksheet As Excel.Worksheet' 创建Excel应用程序对象xlApp = New Excel.ApplicationxlApp.Visible = True' 打开Excel文件xlWorkbook =xlApp.Workbooks.Open("C:\path\to\your\excel\file.xlsx") xlWorksheet = xlWorkbook.Worksheets(1) ' 打开第一个工作表```通过以上代码,将打开Excel文件并将第一个工作表赋值给xlWorksheet 变量。

2. 使用OleDb连接:除了使用Excel对象库,还可以使用OleDb连接字符串来打开Excel 文件。

这种方法不需要引用Excel对象库,并且适用于各种版本的Excel 文件。

```vbImports System.Data.OleDbDim connectionString As String ="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=C:\path\to\your\excel\file.xlsx;Extended Properties=Excel 12.0"Dim connection As OleDbConnection = NewOleDbConnection(connectionString)Dim adapter As OleDbDataAdapterDim dataSet As DataSet'打开连接connection.Open' 读取Excel数据dataSet = New DataSetadapter.Fill(dataSet)' 将数据加载到DataGridView控件DataGridView1.DataSource = dataSet.Tables(0)'关闭连接connection.Close```以上代码使用OleDb连接字符串连接到Excel文件,并将数据加载到DataSet中。

用VB操作Excel(VB6.0)(整理)

用VB操作Excel(VB6.0)(整理)

用V B操作E x c e l(V B6.0)(整理) 全面控制Excel:首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application?1)显示当前窗口:? ExcelID.Visible:=True;2)更改Excel标题栏:? ExcelID.Caption:='应用程序调用MicrosoftExcel';3)添加新工作簿:4)打开已存在的工作簿:5)设置第2个工作表为活动工作表:? ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:? ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例:8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:9)在第8行之前插入分页符:? ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:11)指定边框线宽度:? 1-左 2-右 3-顶4-底 5-斜(\) 6-斜(/)12)清除第一行第四列单元格公式:13)设置第一行字体属性:14)进行页面设置:a.页眉:b.页脚:c.页眉到顶端边距2cm:d.页脚到底端边距3cm:e.顶边距2cm:f.底边距2cm:g.左边距2cm:h.右边距2cm:i.页面水平居中:j.页面垂直居中:k.打印单元格网线:15)拷贝操作:a.拷贝整个工作表:b.拷贝指定区域:c.从A1位置开始粘贴:d.从文件尾部开始粘贴:16)插入一行或一列:17)删除一行或一列:18)打印预览工作表:19)打印输出工作表:20)工作表保存:? Endif21)工作表另存为:? ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:23)关闭工作簿:24)退出Excel:? ExcelID.Quit;25)设置工作表密码:26)EXCEL的显示方式为最大化ndowState=xlMaximized?27)工作薄显示方式为最大化28)设置打开默认工作薄数量? ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存) ? ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置31)设置打印时固定打印内容32)设置打印标题33)设置显示方式(分页方式显示)34)设置显示比例35)让Excel响应DDE请求用VB操作EXCEL示例代码? Private Sub Command3_Click()? On Error GoTo err1? Dim i As Long? Dim j As Long? Dim objExl As Excel.Application '声明对象变量? Me.MousePointer=11 '改变鼠标样式? Set objExl=New Excel.Application'初始化对象变量? objExl.SheetsInNewWorkbook=1? '将新建的工作薄数量设为1?? objExl.Sheets("book1").Select? '选中工作薄<book1>? For i=1 To 50'循环写入数据? For j=1 To 5? If i=1 Then??? objExl.Cells(i,j)="E"&i&j? Else??? objExl.Cells(i,j)=i&j? EndIf? Next? Next? objExl.Rows("1:1").Select '选中第一行? Format(Now,"yyyy年mm月dd日hh:MM:ss")? '给工作表加密码? Contents:=True,Scenarios:=True? objExl.Visible=True? '使EXCEL可见? objExl.SheetsInNewWorkbook=3? '将默认新工作薄数量改回3个? ? Set objExl=Nothing'清除对象? Me.MousePointer=0 '修改鼠标? ExitSub? err1:??? objExl.SheetsInNewWorkbook=3?? objExl.DisplayAlerts=False? '关闭时不提示保存? objExl.Quit'关闭EXCEL? objExl.DisplayAlerts=True '关闭时提示保存? Set objExl=Nothing? Me.MousePointer=0? End Sub。

VB操作Excel(VB6.0)(整理)

VB操作Excel(VB6.0)(整理)
EndIf
Next
Next
objExl.Rows("1:1").Select '选中第一行
objExl.Selection.Font.Bold=True '设为粗体
objExl.Selection.Font.Size=24 '设置字体大小
objExl.Cells.EntireColumn.AutoFit '自动调整列宽
a.页眉:
ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';
b.页脚:
ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';
c.页眉到顶端边距2cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
5)设置第2个工作表为活动工作表:
ExcelID.WorkSheets[2].Activate;
或ExcelID.WorkSheets['Sheet2'].Activate;
6)给单元格赋值:
ExcelID.Cells[1,4].Value:='第一行第四列';
7)设置指定列的宽度(单位:字符个数),以第一列为例:
24)退出Excel:
ExcelID.Quit;
25)设置工作表密码:
ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True

用VB操作Excel详解

用VB操作Excel详解

用VB操作Excel详解一、VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。

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

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("表名") '设置活动工作表xlSheet.Cells(row, col) =值'给单元格(row,col)赋值xlSheet.PrintOut '打印工作表xlBook.Close (True) '关闭工作簿xlApp.Quit '结束EXCEL对象Set xlApp = Nothing '释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。

Vb对excel操作的实例

Vb对excel操作的实例

Vb对excel操作的实例第一篇:Vb对excel操作的实例Vb对excel操作的实例最近,由于工作关系,我用vb6.0做了一个计算成绩的软件,由于我不会数据库技术,同行对excel应用又比较普遍,所以就用vb6.0操作excel完成了成绩统计的任务。

先说说窗体,很简单,只运用了菜单,由此来调用程序代码。

截图如下:窗体命名为excel操作,共五个一级菜单。

创建表册用来制作所用表格。

计算成绩用来算成绩。

模拟运算用来测试软件,设置了两个子菜单,一个填随机生成的数据。

有了数据就可以计算成绩了,看看效果如何。

测试完了就可以清空数据了,清空成绩册中的基础数据以后再计算一次成绩就基本可以使表册恢复原样了。

其实,我这是多此一举,回头一想,只需要重新创建所用表册就行了。

还画蛇添足了俩菜单:计算器和退出。

代码也贴出来共享一下。

创建表册:一年级: Private Sub ynjkb_Click()Call 建空表(10)Call 工作表命名(1)Call 成绩册(1)Unload excel操作 End Sub 创建表册:二年级:Private Sub enjkb_Click()Call 建空表(10)Call 工作表命名(2)Call 成绩册(2)Unload excel操作 End Sub 三至六年级略了吧。

创建表册:学校总评:Private Sub xxzp_Click()nj(1)= “一年级”: nj(2)= “二年级”: nj(3)= “三年级”: nj(4)= “四年级”: nj(5)= “五年级”: nj(6)= “六年级” Call 建空表(2)'建立积分表Sheets(1).Name = “学校积分” Sheets(2).Name = “积分” Sheets(“学校积分”).Select Range(“a1:i1”).Merge [a1] = “学校积分统计表”: [a2] = “学校”: [a3] = “南村小学”: [a4] = “东风小学”: [a5] = “兴中小学”: [a6] = “尧场小学” nj(1)= “一年级”: nj(2)= “二年级”: nj(3)= “三年级”: nj(4)= “四年级”: nj(5)=“五年级”: nj(6)= “六年级” For i = 1 To 6 Cells(2, i + 1)= nj(i)+ “积分” Next Cells(2, 8)= “均积分”: Cells(2, 9)= “名次” Range([a1], [i6]).Select Selection.HorizontalAlignment = xlCenter Call 表格加线(Range([a2], [i6]))Call 横排(6, 9)ActiveSheet.PageSetup.Orientation = xlLandscape Unload excel操作 End Sub 创建表册:上报:Private Sub shangbao_Click()Call 建空表(2)Sheets(1).Name = “中心校” Sheets(“中心校”).Select Call 上报表(“中心校”)Sheets(2).Name = “普小” Sheets(“普小”).Select Call 上报表(“普小”)Unload excel操作 End Sub 计算成绩:一年级: Private Sub yinianji_Click()Call 打开工作表 Call 算成绩(1)kmb(1)= “语文”: kmb(2)= “数学”: kmb(3)= “英语” Sheets(kmb(1)).Select For i = 1 To 8'记录一年级语文数据With bj(i).xxmc = Cells(2, i + 1).dkjs = Cells(3, i + 1).xkrs = Cells(4, i + 1).xkzf = Cells(5, i + 1).xkjgr = Cells(6, i + 1).xkyxr = Cells(7, i + 1).xkjf = Cells(8, i + 1).bjkm = kmb(1).njxh = 1 End With Next Sheets(kmb(2)).Select For i = 1 To 8'记录一年级数学数据 With bj(i + 8).xxmc = Cells(2, i + 1).dkjs = Cells(3, i + 1).xkrs = Cells(4, i + 1).xkzf = Cells(5, i + 1).xkjgr = Cells(6, i + 1).xkyxr = Cells(7, i + 1).xkjf = Cells(8, i + 1).bjkm = kmb(2).njxh = 1 End With Next Dim hgrs(8)'记录各学校合格人数For i = 1 To 8 Sheets(xx(i)).Select szl = Application.WorksheetFunction.Match(“总分”, Range([a2], [f2]))'总分所在列即合格人数所在列szh = Application.WorksheetFunction.Match(“合格人数”, Range(Cells(2, szl), Cells(80, szl)))'“合格人数”所在行hgrs(i)= Cells(szh + 2, szl)Next '向学校总评表过录一年级数据nj(1)= “一年级”: nj(2)= “二年级”: nj(3)= “三年级”: nj(4)= “四年级”: nj(5)= “五年级”: nj(6)= “六年级” Workbooks.OpenFileName:=ActiveWorkbook.Path & “学校总评.xls” For i = 1 To 16 Wit h Sheets(“积分”)Sheets(“积分”).Select [a1] = “年级”: [a2] = “学科”: [a3] = “学校”: [a4] = “人数”: [a5] = “总分”: [a6] = “及格人数”: [a7] = “优秀人数”: [a8] = “积分”.Cells(1, i + 1)= nj(bj(i).njxh).Cells(2, i + 1)= bj(i).bjkm.Cells(3, i + 1)= bj(i).xxmc.Cells(4, i + 1)= bj(i).xkrs.Cells(5, i + 1)= bj(i).xkzf.Cells(6, i + 1)= bj(i).xkjgr.Cells(7, i + 1)= bj(i).xkyxr.Cells(8, i + 1)= bj(i).xkjf End With Next Workbooks.Open FileName:=ActiveWorkbook.Path & “上报.xls” With Sheets(“中心校”)'过录中心校成绩.Cells(bj(1).njxh * 2 + 2, 3)= bj(1).xkrs + bj(2).xkrs + bj(6).xkrs '语文.Cells(bj(1).njxh * 2 + 2, 4)= bj(1).xkzf + bj(2).xkzf + bj(6).xkzf.Cells(bj(1).njxh * 2 + 2, 5)= Round(.Cells(bj(1).njxh * 2 + 2, 4)/.Cells(bj(1).njxh * 2 + 2, 3), 2).Cells(bj(1).njxh * 2 + 2, 6)= bj(1).xkjgr + bj(2).xkjgr + bj(6).xkjgr.Cells(bj(1).njxh * 2 + 2, 7)= bj(1).xkyxr + bj(2).xkyxr + bj(6).xkyxr.Cells(bj(1).njxh * 2 + 2, 8)= hgrs(1)+ hgrs(2)+ hgrs(6).Cells(bj(1).njxh * 2 + 3, 3)= bj(9).xkrs + bj(10).xkrs + bj(14).xkrs '数学.Cells(bj(1).njxh * 2 + 3, 4)= bj(9).xkzf + bj(10).xkzf + bj(14).xkzf.Cells(bj(1).njxh * 2 + 3, 5)= Round(.Cells(bj(1).njxh * 2 + 3, 4)/.Cells(bj(1).njxh * 2 + 3, 3), 2).Cells(bj(1).njxh * 2 + 3, 6)= bj(9).xkjgr + bj(10).xkjgr + bj(14).xkjgr.Cells(bj(1).njxh * 2 + 3, 7)= bj(9).xkyxr + bj(10).xkyxr + bj(14).xkyxr.Cells(bj(1).njxh * 2 + 3, 8)= hgrs(1)+ hgrs(2)+ hgrs(6)End With With Sheets(“普小”)'过录普小成绩.Cells(bj(1).njxh * 2 + 2, 3)= bj(3).xkrs + bj(4).xkrs + bj(5).xkrs + bj(7).xkrs + bj(8).xkrs '语文.Cells(bj(1).njxh * 2 + 2, 4)= bj(3).xkzf + bj(4).xkzf + bj(5).xkzf + bj(7).xkzf + bj(8).xkzf.Cells(bj(1).njxh * 2 + 2, 5)= Round(.Cells(bj(1).njxh * 2 + 2, 4)/.Cells(bj(1).njxh * 2 + 2, 3),2).Cells(bj(1).njxh * 2 + 2, 6)= bj(3).xkjgr + bj(4).xkjgr + bj(5).xkjgr + bj(7).xkjgr + bj(8).xkjgr.Cells(bj(1).njxh * 2 + 2, 7)= bj(3).xkyxr + bj(4).xkyxr + bj(5).xkyxr + bj(7).xkyxr + bj(8).xkyxr.Cells(bj(1).njxh * 2 + 2, 8)= hgrs(3)+ hgrs(4)+ hgrs(5)+ hgrs(7)+ hgrs(8).Cells(bj(1).njxh * 2 + 3, 3)= bj(11).xkrs + bj(12).xkrs + bj(13).xkrs + bj(15).xkrs + bj(16).xkrs '数学.Cells(bj(1).njxh * 2 + 3, 4)= bj(11).xkzf + bj(12).xkzf + bj(13).xkzf + bj(15).xkzf + bj(16).xkzf.Cells(bj(1).njxh * 2 + 3, 5)= Round(.Cells(bj(1).njxh * 2 + 3, 4)/.Cells(bj(1).njxh * 2 + 3, 3), 2).Cells(bj(1).njxh * 2 + 3, 6)= bj(11).xkjgr + bj(12).xkjgr + bj(13).xkjgr + bj(15).xkjgr + bj(15).xkjgr.Cells(bj(1).njxh * 2 + 3, 7)= bj(11).xkyxr + bj(12).xkyxr + bj(13).xkyxr + bj(15).xkyxr + bj(16).xkyxr.Cells(bj(1).njxh * 2 + 3, 8)= hgrs(3)+ hgrs(4)+ hgrs(5)+ hgrs(7)+ hgrs(8)End With Unload excel操作 End Sub 计算成绩:二年级略。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用VB操作excel方法Private Sub Command3_Click()Dim i As LongDim j As LongDim objExl As Excel.Application'声明对象变量Me.MousePointer=11'改变鼠标样式Set objExl=New Excel.Application'初始化对象变量objExl.SheetsInNewWorkbook=1'将新建的工作薄数量设为1objExl.Workbooks.Add'增加一个工作薄objExl.Sheets(objExl.Sheets.Count).Name="book1"'修改工作薄名称objExl.Sheets.Add,objExl.Sheets("book1")'增加第二个工作薄在第一个之后objExl.Sheets(objExl.Sheets.Count).Name="book2"objExl.Sheets.Add,objExl.Sheets("book2")'增加第三个工作薄在第二个之后objExl.Sheets(objExl.Sheets.Count).Name="book3"objExl.Sheets("book1").Select'选中工作薄<book1>For i=1To50'循环写入数据For j=1To5If i=1ThenobjExl.Selection.NumberFormatLocal="@"'设置格式为文本objExl.Cells(i,j)="E"&i&jElseobjExl.Cells(i,j)=i&jEnd IfNextNextobjExl.Rows("1:1").Select'选中第一行objExl.Selection.Font.Bold=True'设为粗体objExl.Selection.Font.Size=24'设置字体大小objExl.Cells.EntireColumn.AutoFit'自动调整列宽objExl.ActiveWindow.SplitRow=1'拆分第一行objExl.ActiveWindow.SplitColumn=0'拆分列objExl.ActiveWindow.FreezePanes=True'固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"'设置打印固定行objExl.ActiveSheet.PageSetup.PrintTitleColumns=""'打印标题objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_For mat(Now,"yyyy年mm月dd日hh:MM:ss")objExl.ActiveWindow.View=xlPageBreakPreview'设置显示方式objExl.ActiveWindow.Zoom=100'设置显示大小'给工作表加密码objExl.ActiveSheet.Protect"123",DrawingObjects:=True,_Contents:=True,Scenarios:=True objExl.Application.IgnoreRemoteRequests=FalseobjExl.Visible=True'使EXCEL可见objExl.Application.WindowState=xlMaximized'EXCEL的显示方式为最大化objExl.ActiveWindow.WindowState=xlMaximized'工作薄显示方式为最大化objExl.SheetsInNewWorkbook=3'将默认新工作薄数量改回3个Set objExl=Nothing'清除对象Me.MousePointer=0'修改鼠标Exit SubEnd Sub全面控制Excel首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1)显示当前窗口:ExcelID.Visible:=True;2)更改Excel标题栏:ExcelID.Caption:='应用程序调用Microsoft Excel';3)添加新工作簿:ExcelID.WorkBooks.Add;4)打开已存在的工作簿:ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');5)设置第2个工作表为活动工作表:ExcelID.WorkSheets[2].Activate;或ExcelID.WorkSheets['Sheet2'].Activate;6)给单元格赋值:ExcelID.Cells[1,4].Value:='第一行第四列';7)设置指定列的宽度(单位:字符个数),以第一列为例:ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米9)在第8行之前插入分页符:ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:ExcelID.ActiveSheet.Columns[4].PageBreak:=0;11)指定边框线宽度:ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;1-左2-右3-顶4-底5-斜(\)6-斜(/)12)清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:ExcelID.ActiveSheet.Rows[1]:='隶书';ExcelID.ActiveSheet.Rows[1].Font.Color:=clBlue;ExcelID.ActiveSheet.Rows[1].Font.Bold:=True;ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;14)进行页面设置:a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader:='报表演示';b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter:='第&P页';c.页眉到顶端边距2cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;d.页脚到底端边距3cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:a.ExcelID.ActiveSheet.Rows[2].Insert;b.ExcelID.ActiveSheet.Columns[1].Insert;17)删除一行或一列:a.ExcelID.ActiveSheet.Rows[2].Delete;b.ExcelID.ActiveSheet.Columns[1].Delete;18)打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19)打印输出工作表:ExcelID.ActiveSheet.PrintOut;20)工作表保存:If not ExcelID.ActiveWorkBook.Saved thenExcelID.ActiveSheet.PrintPreviewEnd if21)工作表另存为:ExcelID.ActiveWorkbook.SaveAs FileName:="C:\Excel\Demo1.xls"22)放弃存盘:ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿:ExcelID.WorkBooks.Close;24)退出Excel:ExcelID.Quit;25)设置工作表密码:ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True, Scenarios:=True26)EXCEL的显示方式为最大化ExcelID.Application.WindowState=xlMaximized27)工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState=xlMaximized28)设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存)ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow=1ExcelID.ActiveWindow.FreezePanes=True31)设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"32)设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview34)设置显示比例ExcelID.ActiveWindow.Zoom=100Excel语句集300定制模块行为(1)Option Explicit'强制对模块内所有变量进行声明Option Private Module'标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示Option Compare Text'字符串不区分大小写Option Base1'指定数组的第一个下标为1(2)On Error Resume Next'忽略错误继续执行VBA代码,避免出现错误消息(3)On Error GoTo ErrorHandler'当错误发生时跳转到过程中的某个位置(4)On Error GoTo0'恢复正常的错误提示(5)Application.DisplayAlerts=False'在程序执行过程中使出现的警告框不显示(6)Application.ScreenUpdating=False'关闭屏幕刷新Application.ScreenUpdating=True'打开屏幕刷新(7)Application.Enable.CancelKey=xlDisabled'禁用Ctrl+Break中止宏运行的功能工作簿(8)Workbooks.Add()'创建一个新的工作簿(9)Workbooks(“book1.xls”).Activate'激活名为book1的工作簿(10)ThisWorkbook.Save'保存工作簿(11)ThisWorkbook.close'关闭当前工作簿(12)ActiveWorkbook.Sheets.Count'获取活动工作薄中工作表数(13)'返回活动工作薄的名称(14)‘返回当前工作簿名称ThisWorkbook.FullName‘返回当前工作簿路径和名称(15)ActiveWindow.EnableResize=False‘禁止调整活动工作簿的大小(16)Application.Window.Arrange xlArrangeStyleTiled‘将工作簿以平铺方式排列(17)ActiveWorkbook.WindowState=xlMaximized‘将当前工作簿最大化工作表(18)edRange.Rows.Count‘当前工作表中已使用的行数(19)Rows.Count‘获取工作表的行数(注:考虑向前兼容性)(20)Sheets(Sheet1).Name=“Sum”'将Sheet1命名为Sum(21)ThisWorkbook.Sheets.Add Before:=Worksheets(1)'添加一个新工作表在第一工作表前(22)ActiveSheet.Move After:=ActiveWorkbook._Sheets(ActiveWorkbook.Sheets.Count)'将当前工作表移至工作表的最后(23)Worksheets(Array(“sheet1”,”sheet2”)).Select'同时选择工作表1和工作表2(24)Sheets(“sheet1”).Delete或Sheets(1).Delete'删除工作表1(25)ActiveWorkbook.Sheets(i).Name'获取工作表i的名称(26)ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines'切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮(27)ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings‘切换工作表中的行列边框显示(28)edRange.FormatConditions.Delete‘删除当前工作表中所有的条件格式(29)Cells.Hyperlinks.Delete‘取消当前工作表所有超链接(30)ActiveSheet.PageSetup.Orientation=xlLandscape或ActiveSheet.PageSetup.Orientation=2'将页面设置更改为横向(31)ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName‘在页面设置的表尾中输入文件路径ActiveSheet.PageSetup.LeftFooter=erName‘将用户名放置在活动工作表的页脚单元格/单元格区域(32)ActiveCell.CurrentRegion.Select或Range(ActiveCell.End(xlUp),ActiveCell.End(xlDown)).Select'选择当前活动单元格所包含的范围,上下左右无空行(33)Cells.Select‘选定当前工作表的所有单元格(34)Range(“A1”).ClearContents'清除活动工作表上单元格A1中的内容Selection.ClearContents'清除选定区域内容Range(“A1:D4”).Clear'彻底清除A1至D4单元格区域的内容,包括格式(35)Cells.Clear'清除工作表中所有单元格的内容(36)ActiveCell.Offset(1,0).Select'活动单元格下移一行,同理,可下移一列(37)Range(“A1”).Offset(ColumnOffset:=1)或Range(“A1”).Offset(,1)‘偏移一列Range(“A1”).Offset(Rowoffset:=-1)或Range(“A1”).Offset(-1)‘向上偏移一行(38)Range(“A1”).Copy Range(“B1”)'复制单元格A1,粘贴到单元格B1中Range(“A1:D8”).Copy Range(“F1”)'将单元格区域复制到单元格F1开始的区域中Range(“A1:D8”).Cut Range(“F1”)'剪切单元格区域A1至D8,复制到单元格F1开始的区域中Range(“A1”).CurrentRegion.Copy Sheets(“Sheet2”).Range(“A1”)'复制包含A1的单元格区域到工作表2中以A1起始的单元格区域中注:CurrentRegion属性等价于定位命令,由一个矩形单元格块组成,周围是一个或多个空行或列(39)ActiveWindow.RangeSelection.Value=XX'将值XX输入到所选单元格区域中(40)ActiveWindow.RangeSelection.Count'活动窗口中选择的单元格数(41)Selection.Count'当前选中区域的单元格数(42)GetAddress=Replace(Hyperlinkcell.Hyperlinks(1).Address,mailto:,””)‘返回单元格中超级链接的地址并赋值(43)TextColor=Range(“A1”).Font.ColorIndex‘检查单元格A1的文本颜色并返回颜色索引Range(“A1”).Interior.ColorIndex‘获取单元格A1背景色(44)cells.count‘返回当前工作表的单元格数(45)Selection.Range(“E4”).Select‘激活当前活动单元格下方3行,向右4列的单元格(46)Cells.Item(5,”C”)‘引单元格C5Cells.Item(5,3)‘引单元格C5(47)Range(“A1”).Offset(RowOffset:=4,ColumnOffset:=5)或Range(“A1”).Offset(4,5)‘指定单元格F5(48)Range(“B3”).Resize(RowSize:=11,ColumnSize:=3)Rnage(“B3”).Resize(11,3)‘创建B3:D13区域(49)Range(“Data”).Resize(,2)‘将Data区域扩充2列(50)Union(Range(“Data1”),Range(“Data2”))‘将Data1和Data2区域连接(51)Intersect(Range(“Data1”),Range(“Data2”))‘返回Data1和Data2区域的交叉区域(52)Range(“Data”).Count‘单元格区域Data中的单元格数Range(“Data”).Columns.Count‘单元格区域Data中的列数Range(“Data”).Rows.Count‘单元格区域Data中的行数(53)Selection.Columns.Count‘当前选中的单元格区域中的列数Selection.Rows.Count‘当前选中的单元格区域中的行数(54)Selection.Areas.Count‘选中的单元格区域所包含的区域数(55)edRange.Row‘获取单元格区域中使用的第一行的行号(56)Rng.Column‘获取单元格区域Rng左上角单元格所在列编号(57)ActiveSheet.Cells.SpecialCells(xlCellTypeAllFormatConditions)‘在活动工作表中返回所有符合条件格式设置的区域(58)Range(“A1”).AutoFilter Field:=3,VisibleDropDown:=False‘关闭由于执行自动筛选命令产生的第3个字段的下拉列表名称(59)Range(“A1:C3”).Name=“computer”‘命名A1:C3区域为computer或Range(“D1:E6”).Name=“Sheet1!book”‘命名局部变量,即Sheet1上区域D1:E6为book或Names(“computer”).Name=“robot”‘将区域computer重命名为robot(60)Names(“book”).Delete‘删除名称(61)Names.Add Name:=“ContentList”,_RefersTo:=“=OFFSET(Sheet1!A2,0,0,COUNTA(Sheet2!$A:$A))”‘动态命名列(62)Names.Add Name:=“Company”,RefersTo:=“CompanyCar”‘命名字符串CompanyCar(63)Names.Add Name:=“Total”,RefersTo:=123456‘将数字123456命名为Total。

相关文档
最新文档