单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,第6章 工作簿相关的操作,,在前面的章节中,介绍了Excel VBA的一些相关知识从本章开始,将讲解如何使用Excel VBA来控制Excel对象在本章中,首先讲解如何控制工作簿对象6.1 新建工作簿,,在使用Excel办公的过程中,首要的任务是新建一个工作簿通过使用Excel VBA程序代码也可以进行新建工作簿的操作,本节中将讲解有关这方面的相关知识6.1.1 在当前位置新建工作簿,,在Excel中,当打开Excel程序时,就默认创建了一个空白的工作簿然而,通过Excel VBA的程序代码,也可以新建一个空白工作簿,具体实现请看下面的示例6.1.2 在指定位置新建工作簿,,工作簿创建之后,需要将其保存到指定的位置本节讲解的是如何通过Excel VBA程序代码新创建一个工作簿,并且将新创建的工作簿保存到指定的位置下面通过一个示例来具体的进行讲解6.2 打开工作簿,,若想查看Excel中的内容,首先必须打开Excel工作簿在Excel的操作中,打开工作簿有以下几种方法找到Excel文件,直接双击文件将其打开。
双击Excel,进入到Excel环境当中,单击【Office按钮】按钮,在弹出的下拉界面中选择“打开”选项,在弹出“打开”对话框窗口中选择所要打开的Excel文件;或者在“最近打开的文档”中打开想要打开的Excel文件,如图6.5所示6.2.1 打开指定位置的工作簿,,若想打开指定位置的工作簿,首先需要找到工作簿文件所存放的路径,然后在打开工作簿时指定该路径下面通过一个示例来进行讲解6.2.2 判断一个工作簿是否已经打开,,如果一个工作簿已经打开,则不必要再次打开该工作簿了可以使用Excel VBA程序代码来实现避免重复打开同一个工作簿的误操作6.2.3 打开设置保护的工作簿,,在Excel工作簿中,有些工作簿中的内容是比较机密的,不允许其他用户查看,如公司的账目、考试成绩等如果这些工作簿设置了密码,在通常情况下用户是无法将其打开并查看的在Excel中,除了输入密码打开设置了密码的工作簿之外,还可以通过使用Excel VBA程序代码来将其打开实际上打开带密码保护工作簿的方法很简单,只要在打开工作簿路径后添加该工作簿所设置的密码即可,假设打开的工作簿带有密码123456,则实现的程序代码如下所示。
Sub 单击_打开(),,Workbooks.Open Filename:="C:\PsdBooks.xlsx", Password:="123456",,End Sub,,注意:Password后面是“:=”,而不是“=”,另外,Password前面要用“,”与工作簿文件的路径区别开6.3 保存工作簿,,工作簿创建完成之后,需要将其保存,这样才不至于使创建的Excel文件丢失保存工作簿分为直接保存工作簿和另存为工作簿两种方法,本节中将详细讲解有关这两个方面的内容6.3.1 直接保存工作簿,,在Excel中,使用Workbooks对象的Save方法可以直接保存工作簿直接保存工作簿又分为保存当前工作簿和保存指定的工作簿两种方式,下面通过示例分别讲解如何使用这两种方式直接保存工作簿本示例实现的是单击工作表中的【保存当前工作簿】按钮将保存工作表所在的当前工作簿;单击【保存指定工作簿】按钮将保存已经存在的工作簿,Book1.xlsx.,6.3.2 另存为工作簿,,在上一节中讲解了如何直接保存工作簿,在本节中将讲解如何另存为工作簿在Excel中另存为工作簿有两种方式,即将工作簿另存为指定的文件目录下和将工作簿备份到指定的文件目录下。
下面通过示例来分别进行讲解6.4 关闭工作簿,,关闭工作簿主要有关闭指定的工作簿、在关闭工作簿之前是否保存工作簿和关闭所有的工作簿3种情况,下面就分别讲解这3种情况6.4.1 关闭指定位置的工作簿,,当打开多个工作簿时,可以通过使用Excel VBA代码来关闭指定的工作簿,具体实现请看下面的示例6.4.2 关闭前是否保存工作簿,,如果被打开的工作簿有改动,则在关闭工作簿时会弹出是否保存的提示对话框,如图6.16所示通过Excel VBA代码也可以在程序中设置是否保存,并且在关闭工作簿前是否弹出提示对话框信息,具体实现如下面的示例所示6.4.3 关闭所有工作簿,,在Excel VBA中,除了可以使用代码关闭指定的工作簿和当前工作簿之外,还可以关闭当前所有打开的工作簿实现的方法如下面的示例所示本示例实现的是当单击工作表中的【关闭所有工作簿】按钮之后,会将当前所有打开的工作簿全部关闭6.5 工作簿的应用,,前面讲解了有关Excel工作簿的一些相关知识读者在学习了这些知识之后,将会对Excel工作簿有了更深一步的了解本节中,主要讲解有关工作簿的一些相关的应用知识,包括禁止打印文件的内容、禁止编辑工作簿中的单元格、打开工作簿时弹出提示信息等一些与实际应用相关的内容。
6.5.1 示例:禁止打印工作簿文件内容,,【本节示例参考:\代码\第6章\6.5.1.xlsm】,,在Excel VBA中的事件列表中,与打印相关的事件只有Workbook对象的BeforePrint事件在打开Excel工作簿之后,单击【Office按钮】按钮下的【打印】按钮,将会触发Workbook对象的BeforePrint事件通过编写Excel VBA程序代码可以禁止打印工作簿文件内容,防止工作簿内容以文本的形式从打印机中输出下面通过示例进行讲解本示例实现的是在单击Excel环境中的【Office按钮】按钮下的【打印】按钮时,将弹出一个提示无法打印文件的提示对话框,同时将无法打印工作簿文件中的内容6.5.2 示例:禁止编辑工作簿中的所有单元格,【本节示例参考:\代码\第6章\6.5.2.xlsm】,,如果不想让工作簿中所有单元格内容随意地进行改动,可以通过VBA程序代码禁止编辑工作簿中所有的单元格,实现的方法如下面的示例所示本示例实现的是在打开Excel工作簿之后,在修改单元格中的内容时,当光标离开该单元格时,单元格中的内容将恢复到修改前的状态示例实现的操作步骤如下所示6.5.3 示例:禁止使用关闭按钮,,【本节示例参考:\代码\第6章\6.5.3.xlsm】,,在Excel的工作簿当中,通过单击工作簿右上角中的【关闭】按钮可以关闭工作簿。
在工作簿中Workbook对象的BeforeClose事件中可以将工作簿中的【关闭】按钮设置为失效状态,下面通过示例进行讲解本示例实现的是在打开工作簿时,将工作簿中的【关闭】按钮禁止,此时将无法通过单击【关闭】按钮关闭工作簿,当单击工作表中的【退出应用程序】按钮时,将关闭工作簿示例实现的操作步骤如下所示6.5.4 示例:打开工作簿时弹出提示信息,【本节示例参考:\代码\第6章\6.5.4.xlsm】,,在打开Excel工作簿时,有时候需要弹出一些提示信息在Execl中,可以通过Workbook对象的Open事件来实现在打开工作簿时弹出提示对话框的功能,下面通过示例进行讲解本示例实现的是在打开工作簿时,将弹出打开工作簿日期时间的提示对话框示例实现的操作步骤如下所示6.5.5 示例:改变工作簿大小时弹出提示信息,【本节示例参考:\代码\第6章\6.5.5.xlsm】,,当Excel的工作簿大小发生变化时,会触发Workbook对象的WindowResize事件本节中将通过一个示例来讲解如何应用Workbook对象的WindowResize事件弹出提示用户工作簿大小已经改变的提示信息示例实现的步骤如下所示。
6.5.6 示例:关闭工作簿时弹出提示信息,【本节示例参考:\代码\第6章\6.5.6.xlsm】,,在某些应用软件中,当关闭应用程序时,会弹出一个是否确认退出应用程序的对话框窗口,在该窗口中如果选择【是】按钮则退出程序,选择【否】则取消退出应用程序的操作在关闭Excel工作簿时也可以实现与其相类似的功能,如下面的示例所示本示例实现的是当关闭工作簿时,将弹出一个提示对话框,如果在对话框中单击【确定】按钮则关闭工作簿,单击【取消】按钮取消关闭工作簿的操作示例实现的操作步骤如下所示6.6 举一反三,,对工作簿的操作是学习Excel VBA的重要内容之一,本章讲解了有关工作簿的一些相关操作如果想更加深入地了解Excel VBA的编程知识,除了应该掌握本章中对工作簿操作的相关知识之外,还应该掌握以下几个对工作簿操作的相关内容一次能够新建一个或多个工作簿,并且能够根据选择指定新建工作簿的位置能够同时打开一个过多个工作簿,如果打开的工作簿具有密码,应该在打开工作簿时弹出一个输入对话框,在输入正确的密码后能够打开工作簿能够根据选择实现关闭当前工作簿、关闭指定工作簿和关闭全部工作簿的操作。