09中文 Excel 2000 编程 24 学时教程.pdf
-
资源ID:7262238
资源大小:480.33KB
全文页数:8页
- 资源格式: PDF
下载积分:10金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
09中文 Excel 2000 编程 24 学时教程.pdf
下载下载第9学时常用的对象现在是真正学习 E x c e l对象的时候了,本学时主要讲述三个常用的对象A p p l i c a t i o n、Wo r k b o o k和Wo r k s h e e t。将学习如何使用这些对象的属性和方法。本学时的重点包括: Application对象在V B A中的作用 创建和控制Wo r k b o o k对象 使用Wo r k s h e e t对象9.1 Application对象在前一学时中,已经知道 A p p l i c a t i o n对象处于E x c e l对象层次结构的顶层。这对于作为一个程序员的你究竟意味着什么?这意味着你可以使用 A p p l i c a t i o n对象来控制应用程序级的设置和选项,诸如在“工具” 、 “选项”菜单中可以找到的项目一样。要查看一个这样的例子,首先请关闭所有打开的工作簿并打开一个新的工作簿。接着完成如下步骤:1)选择“工具” 、 “宏” 、 “录制新宏” ,打开“录制宏”对话框。输入“ A p p S e t t i n g s”作为宏名,宏的保存位置选择“This Wo r k b o o k” 。2)单击“确定”按钮,开始录制宏。3)选择“工具” 、 “选项”菜单,显示“选项”对话框。选择“视图”选项卡,清除“状态栏”复选框。4)选择“常规”选项卡,选中“R 1 C 1引用风格”复选框,单击“确定”按钮。5)停止录制宏。6)选中“工具” 、 “选项”菜单,选择“视图”选项卡,选中“状态栏”复选框。7)选择“常规”选项卡,清除“R 1 C 1引用风格”复选框,单击“确定”按钮。8)选择“工具” 、 “宏” 、 “宏” ,显示“宏”对话框。9)选择“编辑” ,查看宏的代码。打开Visual Basic编辑器。程序清单9 - 1中显示了所录制的A p p S e t t i n g s宏的代码。程序清单9-1 AppSettings过程1: Sub AppSettings ()2: With Application3: .ReferenceStyle = xlR1C14: .UserName = Sharon Podlin5: .StandardFont = Arial6: .StandardFontSize =107: .DefaultFilePath = C:WINNTProfilesAdministratorPersonal8: .EnableSound = False9: .RollZoom = False10: End Wi t h11: Application.DisplayStatusBar = False12: End Sub对于上面的代码,需要注意的主要是操作的对象,即A p p l i c a t i o n对象。通过上面的说明,你可以在一定程度上了解这个对象的重要性。9.1.1 使用Excel的内置函数A p p l i c a t i o n对象并不仅限于应用程序级的设置和选项,它还是 E x c e l的内置函数的拥有者。如果希望在你的 V B A过程中使用S U M、AV E R A G E、M A X、I R R或者任何其他的内置函数,必须使用A p p l i c a t i o n对象。请记住,采用E x c e l作为开发平台的优点是 E x c e l具有大量的内置函数。在你的 V B A代码中为什么不利用 E x c e l的这个特征呢?请完成如下步骤,在 V B A代码中使用 AV E R A G E和S U M函数:1)创建一个新的名为“B u i l t I n s”的过程。2)为该过程输入如下代码:Dim sngAnswer As SinglesngAnswer = Application.Av e r a g e ( Wo r k s h e e t s ( S h e e t 1 ) . R a n g e ( A 1 : A 4 ) )MsgBox The average for this range is & sngAnswersngAnswer = Application.Sum(Wo r k s h e e t s ( S h e e t 1 ) . R a n g e ( A 1 : A 4 ) )MsgBox The sum of this range is & sngAnswer3)回到工作簿中的S h e e t 1。4)在单元格A 1中输入1 0 0,在单元格A 2中输入2 0 0,在单元格A 3中输入3 0 0,在单元格A 4中输入4 0 0。5)运行B u i l t I n s过程。第一个消息框显示输入数字的平均值,如图 9 - 1所示。可按下A l t + F 8键打开“宏”对话框并从中运行该过程。第9学时 常用的对象使用77下载图9-1 消息框中显示的结果是用E x c e l的内置函数计算出来的6)单击“确定”按钮,退出该消息框。第二个消息框显示输入数字的总和。7)单击“确定”按钮,退出消息框,过程运行结束。正如你在这个例子中看到的那样,通过在 V B A过程用A p p l i c a t i o n对象限定函数名并提供任何必须的参数值,就可以使用任何 E x c e l的内置函数。9.1.2 Application对象有用的属性和方法你将发现A p p l i c a t i o n对象有几种非常有用的属性和方法。其中一些属性如下: ActiveWorkbook 返回当前活动的工作簿。 ActiveSheet 返回当前活动的工作簿中活动的工作表。返回的工作表可以是 E x c e l支持的任何工作表类型,包括工作表和图表工作表。 ActiveCell 返回当前活动的工作簿中活动的工作表中活动的单元格。 ThisWorkbook 返回正在执行的过程所驻留的工作簿。 MailSystem 返回本系统所采用的邮件系统。当进行邮件自动化时本属性非常有用。 MailSession 用于检测用户是否登录了电子邮件。 OperatingSystem 当开发由Wi n d o w s和M a c用户使用的V B A应用程序时,这个属性非常有用。可以用这个属性来决定所使用的操作系统,并且做出必要的改变。 Selection 用于决定当前选中了什么,可以是单元格、图表、图形对象等等。你已经使用过一个A p p l i c a t i o n对象的方法I n p u t B o x。I n p u t B o x方法可以显示一个输入框,并且可以指定返回值的数据类型。 A p p l i c a t i o n对象的其他有用的方法包括: M a i l L o g o n和M a i l L o g o ff 和M a i l S y s t e m和M a i l S e s s i o n属性配合使用,这两个方法可以登录和退出电子邮系统。 Quit 用于退出E x c e l。 Run 用来执行E x c e l 4 . 0宏。9.2 Workbook对象现在,你已经知道Wo r k b o o k对象代表E x c e l文件。正因为如此,你也许可以立刻想到需要使用Wo r k b o o k对象来处理的各种类型的事件:打开、保存、打印和关闭。以下首先学习Wo r k b o o k对象的一些最常用的方法,而不是从这个对象的属性开始学习。 Activate 本方法用来激活工作簿。 Close 用于关闭工作簿。 Save 用于保存工作簿。如果在使用S a v e方法之前没有保存过该工作簿,该工作簿将以它当前的名字保存。这意味着它将被保存为诸如 B o o k 1这样的名字。 SaveAs 用于保存工作簿。 本方法和S a v e方法的区别在于本方法有几个有用的可选参数,包括F i l e n a m e、F i l e F o r m a t、P a s s w o r d、Wr i t e R e s P a s s w o r d和R e a d O n l y R e c o m m e n d e d。 PrintOut 本方法用于打印整个工作簿。 PrintPreview 本方法用于在打印预览中显示工作簿。78使用中文Excel 2000编程 2 4学时教程下载还将使用几个 Wo r k b o o k对象的属性。和 A p p l i c a t i o n对象一样, Wo r k b o o k对象支持A c i t i v e S h e e t属性。如果需要找到保存工作簿的目录,可以使用 P a t h属性。S a v e d是Wo r k b o o k对象的一个特别有用的属性,如果工作簿已经保存,这个属性的返回值为 Tr u e,这意味着所有的变更都已经得到了保存。如果改变了工作簿并且还没有保存,则返回 F a l s e。在前面的讨论中还没有提及的是如何创建一个新的工作簿对象。换句话说,和单击 E x c e l的“新建”工具栏按钮等价的 V B A代码是什么?其实,通过第8学时的学习,你已经知道了这个问题的答案:需要使用 A d d方法。请记住,当向集合中添加一个新的对象时,都要使用 A d d方法。在下面的练习中,将创建一个工作簿,然后进行打印、保存和关闭。1)创建一个新的名为“Wo r k b o o k E x a m p l e”的过程。2)为该过程输入如下代码:Dim wbNewWorkbook As Wo r k b o o kSet wbNewWorkbook = Wo r k b o o k s . A d dw b N e w Wo r k b o o k . Wo r k s h e e t s ( S h e e t 1 ) . R a n g e ( A 1 ) . Value = 100w b N e w Workbooks.SaveAs Hour 9w b N e w Wo r k b o o k . C l o s eMsgBox The workbook is closed.3)运行程序,你也许看不到进行了什么操作。4)当显示提示工作簿已经关闭的消息框时,请单击“确定”按钮。5)打开该工作簿(如果你还在 Visual Basic编辑器中工作,需要回到E x c e l应用程序窗口,并通过“文件”菜单打开该工作簿) 。6)在单元格A1中,可以看到数值100,这可以使你知道这个工作簿正是用你的过程创建的。在练习完上面的过程后,你应当感觉到自己已经成为一个真正的 E x c e l开发者了。现在将对组成该过程的代码进行检查。程序清单 9 - 2显示了完整的过程。程序清单9-2 Wo r k b o o k E x a m p l e过程1: Sub WorkbookExample ()2: Dim wbNewWorkbook As Wo r k b o o k3: Set wbNewWorkbook = Wo r k b o o k s . A d d4: wbNewWo r k b o o k . Wo r k s h e e t s ( S h e e t 1 ) . R a n g e ( A 1 ) . Value = 1005: wbNewWorkbook.SaveAsHour 9a6: wbNewWo r k b o o k . C l o s e7: MsgBoxThe workbook is closed. 8: End Sub这个过程从创建对象变量开始:Dim wbNewWorkbook As Wo r k b o o k在创建新的工作簿时会用到这个变量:Set wbNewWorkbook = Wo r k b o o k s . A d d这条语句通过向Wo r k b o o k集合中添加一个新的元素而创建了一个新的工作簿。在创建工作簿时,E x c e l为它指定诸如B o o k 1或者B o o k 2这样的名字。你不能确保工作簿的名字会是什么。为了避免这个问题,可以将工作簿指定给一个对象变量,并且在代码中通过对象变量对新的工作簿进行引用。接下来该过程设置了单元格A 1的数值,以便工作簿有一些数据可用:w b N e w Wo r k b o o k . Wo r k s h e e t s ( S h e e t 1 ) . R a n g e ( A 1 ) . Value = 100第9学时 常用的对象使用79下载最后执行Wo r k b o o k对象的方法S a v e A s和C l o s e。添加一个消息框是一种知道过程已经执行完毕的简单方法:w b N e w Workbook.SaveAs Hour 9aw b N e w Wo r k b o o k . C l o s eMsgBox The workbook is closed.现在,你已经完成了这个练习,已经用V B A代码创建、保存并且关闭了第一个E x c e l工作簿!当将工作簿保存为某个名字后,可以用这个名字对工作簿进行引用,也可以用对象变量对它进行引用,这完全取决于个人的兴趣。9.3 Worksheet对象现在,你已经掌握了如何使用 Wo r k b o o k对象,接下来将学习使用Wo r k s h e e t对象。和学习Wo r k b o o k对象一样,请先花一点时间想一想,作为一个 E x c e l用户,可以用Wo r k s h e e t做些什么。你可能会选择工作表、给工作表取名,或者在工作簿中插入新的工作表、复制工作表和删除工作表。现在,你已经知道可以用 Wo r k s h e e t对象来做些什么,还需要知道的是完成这些任务的属性和方法。当对工作表进行处理时,常常要用到两个属性。其中一个是N a m e属性,在V B A中设置N a m e属性等价于双击一个工作表的标签并输入一个新的名字。例如,要将一张工作表的名字改为“B u d g e t” ,可以使用如下代码:ActiveSheet.Name = Budget如果希望对整个工作表进行某些格式设置,怎样才能选中工作表中的所有单元格呢?通过使用 C e l l s属性可以做到。如果希望设置一张工作表上所有单元格的字体,可以使用如下代码:Worksheets(Sheet1).Cells.Font.Name = Arial也许会用到以下三个Wo r k s h e e t对象的方法: Activate 激活工作表。 CheckSpelling 用于检查工作表中内容的拼写。 Delete 用于删除某个工作表。现在到了测试的时候了。怎样向工作簿中插入工作表?如果回答是使用 A d d方法,那么你就过关了!要插入一张工作表并改变它的名字,可按照如下步骤:1)创建一个新的名为“M y N e w Wo r k s h e e t”的过程。2)为该过程输入如下代码:Dim wsNewWorksheet As Wo r k s h e e tSet wsNewWorksheet = Wo r k s h e e t s . A d dw s N e w Worksheet.Name = Format(Date, mmmm d, yyyy)3)运行该过程。4)如果是在Visual Basic编辑器中运行该过程,那么请回到 E x c e l应用程序窗口查看新添加的工作表,如图9 - 2所示。5)将工作簿保存为“H o u r 9” ,并关闭该工作簿。80使用中文Excel 2000编程 2 4学时教程下载这部分代码和用于创建一个工作簿时的代码比较相似。和创建工作簿时一样,首先创建一个对象变量,再将它和 A d d方法配合使用,以便可以在代码中用对象变量的名字来引用该对象:Dim wsNewWorksheet As Wo r k s h e e tSet wsNewWorksheet = Wo r k S h e e t s . A d d在插入工作表之后,就可以使用N a m e属性了:w s N e w Worksheet.Name = Format(Date, mmmm d,yyyy)这行代码使用一个设置名字的有趣方式采用当前的日期作为名字。通过F o r m a t函数可以控制日期的格式和显示方式,日期以月、日、年的方式显示。许多开发者喜欢在文件名或者工作表名中使用当前的日期以避免名字重复。9.4 学时小结在本学时中,你在处理E x c e l的一些基本对象A p p l i c a t i o n、Wo r k b o o k和Wo r k s h e e t方面获得了大量的经验。通过使用 A p p l i c a t i o n对象,你掌握了如何进行应用程序级的设置和选项,以及使用E x c e l内置的函数。通过使用 Wo r k b o o k对象,你可以创建新的 E x c e l工作簿文件,并且可以添加和操作工作簿中的工作表。在本学时中,你也有了更多的机会学习属性和方法。在接下来的学时中,将学习另一个关键的 E x c e l对象R a n g e对象。当使用R a n g e对象时,你会发现这是作为E x c e l开发者的核心工作。9.5 专家答疑问题:在能够使用V B A进行工作之前,是否不得不学习大量的对象?解答:不是。实际上,你也许只会用到少于 2 0个对象。如果需要对不熟悉的对象进行处第9学时 常用的对象使用81下载图9-2 注意添加的工作表的名字应当和今天的日期相同理,不要忘了两个关键:在线帮助和录制宏。问题:为什么要将E x c e l本身作为应用程序对待?解答:只有将E x c e l作为一个应用程序才能对它进行某些操作。例如,可以对整个 E x c e l环境进行设置,可以查看公式栏或者控制重新计算。正因为如此,以及其他一些原因, E x c e l本身也是一个对象,形式上就是A p p l i c a t i o n对象。问题:为什么创建工作簿和工作表时都要使用 A d d方法?解答:因为这是在向集合中添加元素。添加工作簿实际上是在向 Wo r k b o o k s集合中添加Wo r k b o o k对象,而添加工作表则是在向Wo r k s h e e t s集合中添加Wo r k s h e e t对象。9.6 课外作业思考题和练习题是为了使你能够进一步地理解所学内容,答案请参考附录。9.6.1 思考题1)如何使用V B A中的M A X函数决定范围A 1 : C 5中最大的数字?2)处于对象层次结构最外层的对象是什么?3)创建新的工作簿或者新的工作表需要使用什么方法?4)如何用V B A代码从工作簿中删除工作表?5)什么属性返回当前过程所驻留的工作簿?这个属性属于什么对象?6)判断题:在V B A中不能运行E x c e l 4 . 0的宏。9.6.2 练习题创建一个新的名为“H o u r 9 L a b”的过程。本过程必须完成如下任务: 创建一个新的工作簿。 向工作簿中添加一个新的工作表。 用你的名字为新添加的工作表命名。 将工作簿保存为“H o u r 9 L a b” 。运行该过程。回到 H o u r 9 L a b工作簿,并在添加到工作簿中的工作表上添加一些数据。创建另一个名为“S a v e H o u r 9”的过程,这个过程需要检测工作簿是否已经保存。如果还没有保存,那么就保存该工作簿并显示一个消息框。如果工作簿已经保存过了,则显示一个消息框提示用户已经保存了。运行该过程。82使用中文Excel 2000编程 2 4学时教程下载