VB学习笔记——VB中Excel应用

一、Excel是以层次结构组织对象的,其对象模型中含有许多不同的对象元素。

第一层:Application 对象,表示Excel本身;

第二层:Workbooks对象集,表示Excel的工作薄文件;

第三层:Worksheets对象集,表示Excel的一个工作表;

第四层:Cells 和Range对象,表示Excel工作表中的单元格。

二、创建对象:

Dim xlApp as Excel.Application   

Set xlApp as new Excel.Application

三、属性:

1)显示当前窗口(设置Excel对象可见/不可见):

xlApp.Visible=True;

2)更改Excel标题栏:

xlApp.Caption=“应用程序调用Microsoft Excel”;

3)添加(新建)工作薄文件:

xlApp.Workbooks.Add

4)打开已存在的Demo.xls工作薄文件:

xlApp.Workbooks.Open(‘C:\Excel\Demo.xls’)

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

xlApp.Worksheets(2).Activate  或者  xlApp.Worksheets('Sheet2').Activate

6)给单元格赋值:

xlApp.Cells(1,4).Value="第一行第四列"

7)设置指定列的宽度(单位:字符个数),以第一列为例:

xlApp.ActiveSheet.Columns(1).ColumnsWidth=5

8)设置指定行的高度(单位:磅,1磅=0.035厘米),以第三行为例:

xlApp.ActiveSheet.Rows(2).RowHeight=1

9)在第8行之前插入分页符:

xlApp.WorkSheets(1).Rows(8).PageBreak=1

10)在第8列之前删除分页符:

xlApp.ActiveSheet.Columns(8).PageBreak=0

11)指定边框线宽度

xlApp.ActiveSheet.Range('B3:D4').Borders(2).Weight=3

(其中Borders参数:1-左  、  2-右  、3-顶 、  4-底 、 5-斜( \ )  、6-斜( / );LineStyle值:1与7--细实、2--细虚、4--点虚、9--双细实线)

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

xlApp.ActiveSheet.Cells(1,4).ClearContents

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

xlApp.ActiveSheet.Rows(1).Font.Name='楷体'

xlApp.ActiveSheet.Rows(1).Font.Color='clBlue'

xlApp.ActiveSheet.Rows(1).Font.Bold='True'

xlApp.ActiveSheet.Rows(1).Font.UnderLine='True'

14)进行页面设置:

a.设置页眉

xlApp.ActiveSheet.PageSetup.CenterHeader= '报表演示'

b.页脚

xlApp.ActiveSheet.PageSetup.CenterFooter= '第&P页'

c.页眉到顶端边距2cm

xlApp.ActiveSheet.PageSetup.HeaderMargin= 2

d.页脚到底端边距3cm

xlApp.ActiveSheet.PageSetup.HeaderMargin= 3

e.顶边距2cm

xlApp.ActiveSheet.PageSetup.TopMargin =2

f.底边距2cm

xlApp.ActiveSheet.PageSetup.BottomMargin= 2

g.左边距2cm

xlApp.ActiveSheet.PageSetup.LeftMargin =2

h.右边距2cm

xlApp.ActiveSheet.PageSetup.RightMargin= 2

i.页面水平居中

xlApp.ActiveSheet.PageSetup.CenterHorizontally= 2

j.页面垂直居中

xlApp.ActiveSheet.PageSetup.CenterVertically= 2

k.打印单元格网线

xlApp.ActiveSheet.PageSetup.PrintGridLines= True

15) 拷贝操作:

a.拷贝整个工作表

xlApp.ActiveSheet.Used.Range.Copy

b.拷贝指定区域

xlApp.ActiveSheet.Range('A1:E2' ).Copy

c.从A1位置开始粘贴

xlApp.ActiveSheet.Range('A1').PasteSpecial

d.从文件尾部开始粘贴

xlApp.ActiveSheet.Range.PasteSpecial

16) 插入一行或一列:

a. xlApp.ActiveSheet.Rows(2).Insert

b. xlApp.ActiveSheet.Columns(1).Insert

17) 删除一行或一列:

a. xlApp.ActiveSheet.Rows(2).Delete

b. xlApp.ActiveSheet.Columns(1).Delete

18) 打印预览工作表:

xlApp.ActiveSheet.PrintPreview

19) 打印输出工作表:

xlApp.ActiveSheet.PrintOut

20) 工作表保存:

If not xlApp.ActiveWorkBook.Saved then

xlApp.ActiveSheet.PrintPreview

End if

21) 工作表另存为Demo1.xls:

xlApp.SaveAs( 'C:\Excel\Demo1.xls' )

22) 放弃存盘:

xlApp.ActiveWorkBook.Saved = True

23) 关闭工作簿:

xlApp.WorkBooks.Close

24) 退出 Excel:

xlApp.Quit

25) 设置工作表密码:

xlApp.ActiveSheet.Protect"123", DrawingObjects:=True, Contents:=True, Scenarios:=True

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

xlApp.Application.WindowState =xlMaximized

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

xlApp.ActiveWindow.WindowState =xlMaximized

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

xlApp.SheetsInNewWorkbook = 3

29) 关闭时是否提示保存(true 保存;false 不保存):

xlApp.DisplayAlerts = False

30) 设置拆分窗口,及固定行位置:

xlApp.ActiveWindow.SplitRow = 1

xlApp.ActiveWindow.FreezePanes = True

31) 设置打印时固定打印内容:

xlApp.ActiveSheet.PageSetup.PrintTitleRows= "$1:$1"

32) 设置打印标题:

xlApp.ActiveSheet.PageSetup.PrintTitleColumns= ""

33) 设置显示方式(分页方式显示):

xlApp.ActiveWindow.View =xlPageBreakPreview

34) 设置显示比例:

xlApp.ActiveWindow.Zoom = 100

35) 让Excel 响应 DDE 请求:

Ex.Application.IgnoreRemoteRequests = False

四、用VB操作EXCEL

Private Sub Command1_Click()

   On Error GoTo err1

   Dim i As Long

   Dim j As Long

   Dim xlApp As Excel.Application   '声明对象变量

   Me.MousePointer = 11    '改变鼠标样式

   Set xlApp = New Excel.Application   '初始化对象变量

   xlApp.SheetsInNewWorkbook = 1   '将新建的工作薄数量设为1

   xlApp.Workbooks.Add    '增加一个工作薄

   xlApp.Sheets(1).Name = "book2"    '修改工作薄名称

   xlApp.Sheets("book2").Select    '选中工作薄<book2>

   For i = 1 To 50    '循环写入数据

       For j = 1 To 5

             If i = 1 Then

                 xlApp.Selection.NumberFormatLocal = "@"    '设置格式为文本

                  xlApp.Cells(i, j) = " E" & i & j

             Else

                  xlApp.Cells(i, j) = i & j

             End If

        Next j

   Next i

   xlApp.Rows("1:1").Select    '选中第一行

   xlApp.Selection.Font.Bold = True   '设为粗体

   xlApp.Selection.Font.Size = 24   '设置字体大小

   xlApp.Cells.EntireColumn.AutoFit   '自动调整列宽

   xlApp.ActiveWindow.SplitRow = 1   '拆分第一行

   xlApp.ActiveWindow.SplitColumn = 7 '拆分前七列

   xlApp.ActiveWindow.FreezePanes = True   '固定拆分 

   xlApp.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行

   xlApp.ActiveSheet.PageSetup.PrintTitleColumns = ""    '打印标题

   xlApp.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _

                                                          Format(Now, "yyyy年mm月dd日 hh:MM:ss")

   xlApp.ActiveWindow.View = xlPageBreakPreview    '设置显示方式

   xlApp.ActiveWindow.Zoom = 100   '设置显示大小

   xlApp.ActiveSheet.Protect "123", DrawingObjects:=True, _

                               Contents:=True,Scenarios:=True

   xlApp.Application.IgnoreRemoteRequests = False

   xlApp.Visible = True    '使EXCEL可见

   xlApp.Application.WindowState = xlMaximized    'EXCEL的显示方式为最大化

   xlApp.ActiveWindow.WindowState = xlMaximized    '工作薄显示方式为最大化

   xlApp.SheetsInNewWorkbook = 3   '将默认新工作薄数量改回3个

   Set objExl = Nothing    '清除对象

    Me.MousePointer= 0    '修改鼠标

    Exit Sub

err1:

   xlApp.SheetsInNewWorkbook = 3

   xlApp.DisplayAlerts = False    '关闭时不提示保存

   xlApp.Quit    '关闭EXCEL

   xlApp.DisplayAlerts = True    '关闭时提示保存

   Set xlApp= Nothing

   Me.MousePointer = 0

EndSub





  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值