第四讲已经学完,现总结如下: 本讲主要讲述了如何控制工作簿与工作表,如:新建一个工作簿、关闭指定工作簿、打开指定工作簿,下面详细说明: 一、工作簿常用方法、事件以及属性 1、新建一个工作簿 workbooks.add,此时新建的工作簿即为活动工作簿,大家可以直接在该工作簿中进行操作。一般情况下,新建的工作簿要赋值给一个对象变量,以方便对工作簿进行操作。如: Private Sub CommandButton1_Click() Dim FlagWorkbook As Workbook '增加一个工作簿并将其赋值为对象变量 Set FlagWorkbook = Workbooks.Add '测试增加的工作簿是不是活动工作簿 MsgBox ActiveWorkbook.Name '利用工作簿属性 With FlagWorkbook '保护工作簿 .Password = "123" '另存工作簿 .SaveAs "d:/" & "新建工作簿测试" End With End Sub 2、关闭工作簿 workbooks.close表示关闭所有打开的工簿 workbooks(饱含路径的工作簿名称).close表示关闭指定的工作簿,如: Sub test1() 'workbooks.close关闭工作簿 Dim t As Workbook For Each t In Workbooks 'thisworkbook表示当前工作簿,如果工作簿的名称不等于活动工作簿的名称,那么将其删除 If t.Name <> ThisWorkbook.Name Then t.Close End If Next t End Sub 3、打开工作簿 workbooks.open filename:=包含路径的工作簿名称 Sub test2() 'workbooks(工作簿名称包含路径) 打开工作簿 Dim t As String t = "F:\VBA练习\4.xls" Workbooks.Open t '把某个工作簿设置为当前工作簿 activate Workbooks("第五讲 如何控制工作簿与工作表").Activate End Sub 在学习工作簿打开方法时,可以查看open的一些参数,如:filename,password等 4、统计已打开工作簿的数量 workbooks.count Sub test3() 'workbooks.count 统计已打开工作簿的数量,不含加载宏所在的工作簿 'debug.print 表示在立即窗口中输出结果,可以按ctrl+g在立即窗口中查看结果 Debug.Print Workbooks.Count End Sub 5、其他 一次新建多个工作簿 Sub test4() '一次新建多个工作簿,并且将其另存,每新建一个工作簿,则新建的工作簿及为活动工作簿 Const k As Integer = 5 Dim t As Workbook '屏幕更新 Application.ScreenUpdating = False For i = 1 To k Set t = Workbooks.Add ActiveWorkbook.SaveAs Filename:="F:\VBA练习\" & t.Name ' Set t = Workbooks.Add ' t.SaveAs "F:\VBA练习\" & t.Name t.Close Next i Application.ScreenUpdating = True End Sub 二、工作表 sheets.count '统计当前工作簿中工作表的数量 sheets(1).name '返回第一个工作表的名字 sheets("sheet1").activate '设置sheet1为活动工作表 sheets("sheet1").delete '删除sheet1工作表 sheets("sheet1").move after:=sheets(sheets.count) '把sheet1移到工作表末尾 sheets("sheet1").protect password:="123" '为工作表加密 注意:工作表加密不同于工作簿加密 workbooks("book1").saveas password:="123" 中间没有protect sheets("sheet1").unprotect password:=123 解密 sheets("sheet1").usedrange '工作表中已用过的单元格 sheets("sheet1").visible=true sheets("sheet1").scrollarea="a1:b10" 将sheet1工作表a1:b10设置为滚动区域,该区域外的其他单元格用户不能进行操作。我这里有个疑问,如何解除该设置? 三、零碎小知识 1、Application.DisplayAlerts = False '表示不显示对话框提示,如:在删除工作表时,系统会提示你是否要删除,如果加上该语句则没有该提示。 Private Sub Workbook_NewSheet(ByVal Sh As Object) 'NewSheet事件为工作簿事件,当在工作簿中插入新工作表时触发该事件 'Sh为新插入的工作表,也就是插入后继续删除,利用DisplayAlerts取消删除提示功能 Application.DisplayAlerts = False Sh.Delete Application.DisplayAlerts = True End Sub 2、fileToOpen 知道有这么个单词就可以了,在实际应用中,可以查看帮助 Sub test() '打开不同类型的文件,直接与用户进行交互 fileToOpen = Application _ .GetOpenFilename("Text Files (*.txt), *.txt") If fileToOpen <> False Then MsgBox "Open " & fileToOpen End If End Sub 3、Application.ScreenUpdating = False 屏蔽屏幕更新,当运算复杂,过程很多时,用户可以看到程序的运行过程,如果使用该语句,则不显示 四、心得
如果你对某个方法或属性不懂,选取该属性或方法后按F1,即可看到该方法或属性的帮助说明。前提是你要能想到相关的单词,所以,我们目前的主要学习目的就是看看常用的单词和一些编程的思想,在实际应用中,对于不懂得单词可以通过上述方法查看帮助。
PixyDLbB.rar
(15.61 KB, 下载次数: 42)
[此贴子已经被作者于2006-8-22 10:49:23编辑过] |