ollingSideBySide属性设置是否将两个窗口的滚动保持同步,如果为True,在对文档进行并排比较的同时启用窗口内容的滚动功能。若为False,则在对文档进行并排比较的同时禁用窗口内容的滚动功能。ResetPositionsSideBySide方法重置正在进行并排比较的两个工作表窗口的位置,例如,如果用户将正在进行比较的两个工作表窗口中的其中一个窗框最小化或最大化,就可以使用ResetPositionsSideBySide方法重置显示,以便这两个窗口再次并排显示。BreakSideBySide方法用来关闭并排比较。
示例02-22:返回或设置窗口中显示的视图(View属性) Sub testView()
MsgBox \将视图切换为分页预览\
ActiveWindow.View = xlPageBreakPreview MsgBox \窗口视图为:\& ActiveWindow.View MsgBox \将视图恢复正常\
ActiveWindow.View = xlNormalView
MsgBox \窗口视图为:\& ActiveWindow.View End Sub
示例02-23:返回窗口中可见单元格区域(VisibleRange属性) Sub testVisibleRange()
MsgBox \当前窗口中共有\& Windows(1).VisibleRange.Cells.Count & \个单元格可见\End Sub
示例说明:如果窗口中有部分行列的单元格可见,也包括在可见单元格区域中。
示例02-24:创建窗口(NewWindow方法) Sub testNewWindow()
MsgBox \为活动窗口创建一个副本\ ActiveWindow.NewWindow
MsgBox \所创建窗口的窗口号为\& ActiveWindow.WindowNumber End Sub
示例说明:本示例中,NewWindow方法为指定窗口(本例中为当前活动窗口)创建一个副本,然后显示该副本窗口的窗口号。注意,窗口号与窗口索引(Index属性)的不同,例如名称为“Book1.xls:2”的窗口,其窗口号为2,而窗口索引为该窗口在Windows集合中的位置,可以为窗口名称或编号。
示例02-25:设置窗口大小(Zoom属性) Sub testWindowDisplaySize()
MsgBox \将窗口大小设置为与选定区域相适应的大小\ ActiveWindow.Zoom = True MsgBox \以双倍大小显示窗口\ ActiveWindow.Zoom = 200 MsgBox \以正常大小显示窗口\ ActiveWindow.Zoom = 100
26
End Sub 示例说明:Zoom属性将以百分数的形式(100表示正常大小,200表示双倍大小,以此类推)返回或设置窗口的显示大小。如果本属性为 True,则可将窗口大小设置成与当前选定区域相适应的大小。本功能仅对窗口中当前的活动工作表起作用,若要对其他工作表使用本属性,必须先激活该工作表。
示例02-26:激活窗口(ActivateNext方法和ActivatePrevious方法) [示例02-26-01]
Sub testActivateWindow1()
MsgBox \若已打开Book1.xls、Book2.xls和Book3.xls三个工作簿且Book1.xls为当前窗口\& Chr(10) & \则按Book3.xls-Book2.xls-Book1.xls依次激活窗口\
ActiveWindow.ActivateNext
MsgBox \激活工作簿:\& Windows(1).Caption ActiveWindow.ActivateNext
MsgBox \激活工作簿:\& Windows(1).Caption ActiveWindow.ActivateNext
MsgBox \激活工作簿:\& Windows(1).Caption End Sub
[示例02-26-02]
Sub testActivateWindow2()
MsgBox \若已打开Book1.xls、Book2.xls和Book3.xls三个工作簿且Book1.xls为当前窗口\& Chr(10) & \则按Book2.xls-Book3.xls-Book1.xls依次激活窗口\
ActiveWindow.ActivatePrevious
MsgBox \激活工作簿:\& Windows(1).Caption ActiveWindow.ActivatePrevious
MsgBox \激活工作簿:\& Windows(1).Caption ActiveWindow.ActivatePrevious
MsgBox \激活工作簿:\& Windows(1).Caption End Sub
示例02-27:滚动窗口(LargeScroll方法和SmallScroll方法) [示例02-27-01] Sub testScroll1()
MsgBox \将当前窗口向下滚动3页并向右滚动1页\ ActiveWindow.LargeScroll Down:=3, ToRight:=1 End Sub
示例说明:LargeScroll方法将按页滚动窗口的内容,其语法为expression.LargeScroll(Down, Up, ToRight, ToLeft),带有4个可选的参数,其中参数Down表示将窗口内容向下滚动的页数;参数Up表示将窗口内容向上滚动的页数;参数ToRight表示将窗口内容向右滚动的页数;参数ToLeft表示将窗口内容向左滚动的页数。如果同时指定了Down和Up,窗口内容上下方向滚动的页数由这两个参数的差决定,例如,如果Down为3,Up为6,则窗口向上滚动三页。
27
如果同时指定了ToLeft和ToRight,窗口内容左右方向滚动的页数由这两个参数的差决定,例如,如果ToLeft为3,ToRight为 6,则窗口向右滚动三页。所有这四个参数都可以使用负数。 [示例02-27-02] Sub testScroll2()
MsgBox \将当前活动窗口向下滚动3行\ ActiveWindow.SmallScroll down:=3 End Sub
示例说明:SmallScroll方法按行或列滚动窗口,其语法为expression.SmallScroll(Down, Up, ToRight, ToLeft),带有4个可选的参数,其中参数Down表示将窗口内容向下滚动的行数;参数Up表示将窗口内容向上滚动的列数;参数ToRight表示将窗口内容向右滚动的列数;参数ToLeft表示将窗口内容向左滚动的列数。如果同时指定了Down和Up,则窗口内容滚动的行数由这两个参数的差值决定,例如,如果Down为3,Up为6,则窗口内容向上滚动三行。如果同时指定了ToLeft和ToRight,则窗口内容滚动的列数由这两个参数的差值决定,例如,如果ToLeft为3,ToRight为 6,则窗口内容向右滚动三列。以上四个参数均可取负值。
示例02-28:测试所选单元格宽度和高度 Sub testWidthOrHeight()
Dim lWinWidth As Long, lWinHeight As Long With ActiveWindow
lWinWidth = .PointsToScreenPixelsX(.Selection.Width) lWinHeight = .PointsToScreenPixelsY(.Selection.Height) End With
MsgBox \当前选定单元格宽度为:\& lWinWidth & Chr(10) & _ \当前选定单元格高度为:\& lWinHeight End Sub
示例02-29:关闭窗口(Close方法) Sub CloseWindow()
MsgBox \关闭当前窗口\ ActiveWindow.Close End Sub
示例说明:本示例运行后,将关闭当前窗口。如果当前窗口未保存,则会弹出询问是否保存的消息框供选择。 By fanjy in 2006-9-23
第三章 工作簿(Workbook)基本操作应用示例(一)
分类:ExcelVBA>>ExcelVBA编程入门范例
Workbook对象代表工作簿,而Workbooks集合则包含了当前所有的工作簿。下面对Workbook对象的重要的方法和属性以及其它一些可能涉及到的方法和属性
28
进行示例介绍,同时,后面的示例也深入介绍了一些工作簿对象操作的方法和技巧。
示例03-01:创建工作簿(Add方法) [示例03-01-01]
Sub CreateNewWorkbook1()
MsgBox \将创建一个新工作簿.\ Workbooks.Add End Sub
[示例03-01-02]
Sub CreateNewWorkbook2() Dim wb As Workbook Dim ws As Worksheet Dim i As Long
MsgBox \将创建一个新工作簿,并预设工作表格式.\ Set wb = Workbooks.Add Set ws = wb.Sheets(1) ws.Name = \产品汇总表\ ws.Cells(1, 1) = \序号\ ws.Cells(1, 2) = \产品名称\ ws.Cells(1, 3) = \产品数量\ For i = 2 To 10
ws.Cells(i, 1) = i - 1 Next i End Sub
示例03-02:添加并保存新工作簿 Sub AddSaveAsNewWorkbook() Dim Wk As Workbook Set Wk = Workbooks.Add
Application.DisplayAlerts = False
Wk.SaveAs Filename:=\End Sub
示例说明:本示例使用了Add方法和SaveAs方法,添加一个新工作簿并将该工作簿以文件名SalesData.xls保存在D盘中。其中,语句Application.DisplayAlerts = False表示禁止弹出警告对话框。
示例03-03:打开工作簿(Open方法) [示例03-03-01]
Sub openWorkbook1()
Workbooks.Open \需打开文件的路径>\\<文件名>\End Sub
示例说明:代码中的<>里的内容需用所需打开的文件的路径及文件名代替。Open方法共有15个参数,其中参数FileName为必需的参数,其余参数可选。
29
[示例03-03-02]
Sub openWorkbook2() Dim fname As String
MsgBox \将D盘中的<测试.xls>工作簿以只读方式打开\ fname = \测试.xls\
Workbooks.Open Filename:=fname, ReadOnly:=True End Sub
示例03-04:将文本文件导入工作簿中(OpenText方法) Sub TextToWorkbook()
'本示例打开某文本文件并将制表符作为分隔符对此文件进行分列处理转换成为工作表
Workbooks.OpenText Filename:=\文本文件所在的路径>/<文本文件名>\_
DataType:=xlDelimited, Tab:=True End Sub
示例说明:代码中的<>里的内容需用所载入的文本文件所在路径及文件名代替。OpenText方法的作用是导入一个文本文件,并将其作为包含单个工作表的工作簿进行分列处理,然后在此工作表中放入经过分列处理的文本文件数据。该方法共有18个参数,其中参数FileName为必需的参数,其余参数可选。
示例03-05:保存工作簿(Save方法) [示例03-05-01] Sub SaveWorkbook()
MsgBox \保存当前工作簿.\ ActiveWorkbook.Save End Sub
[示例03-05-02]
Sub SaveAllWorkbook1() Dim wb As Workbook
MsgBox \保存所有打开的工作簿后退出Excel.\ For Each wb In Application.Workbooks wb.Save Next wb
Application.Quit End Sub
[示例03-05-03]
Sub SaveAllWorkbook2() Dim wb As Workbook
For Each wb In Workbooks
If wb.Path <> \ Next wb End Sub
示例说明:本示例保存原来已存在且已打开的工作簿。
30