宏在Excel2010中的应用

2014-04-23 13:28:26李小遐
电脑知识与技术 2014年7期
关键词:选项卡单元格对话框

李小遐

摘要:Excel电子表格软件是应用最广泛的软件之一,它的数据处理、图表功能及各种函数和工具深受广大用户的喜爱,通过使用Excel宏,不仅能使Excel的很多操作自动化,更能通过VBA编程对Excel进行二次开发,实现很多高级功能,提高工作效率。

关键词:宏;Excel 2010;VBA

中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2014)07-1537-03

1 宏的概念

1.1 宏

宏(Macro)是微软公司为其OFFICE软件包设计的一个特殊功能,设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。例如,在Excel打印输出时,纸张大小默认设置为A4,如果经常需要将纸张大小设置为B5,则可将该操作录制为一个宏,在打印输出前执行该宏,即可快速设置纸张大小,节省操作时间。

宏是可用于自动执行任务的一项或一组操作,但其实质是由一系列VBA命令组成的程序。宏类似于计算机程序,但与其他用于软件开发的编程语言不同,宏只能“寄生”于Excel文件之中,而且宏代码不能编译为可执行文件。

1.2 VBA

VBA(Visual Basic for Application)是新一代宏语言,是基于Visual Basic发展起来的、支持面向对象的编程语言。由于它具有直接应用Office套件的各项强大功能,而且宏录制器可以将用户操作自动转换成VBA代码,因此VBA使Excel形成了独立的编程环境。

Excel VBA作为一种扩展工具,得到了越来越广泛的应用,原因在于,很多实际应用中复杂的Excel操作都可以利用VBA得到简化。一般来说,Excel VBA可以应用在如下几个方面:1)自动执行重复的操作;2)进行复杂的数据分析对比;3)生成报表和图表;4)个性化用户界面;5)Offic组件的协同工作;6)Excel二次开发。

2 创建宏

Excel提供了两种创建宏的方法,一种是利用Excel操作环境中的宏录制器录制用户的操作;另一种是使用VBA语言在VBE(Visual Basic Editor,VBA集成开发环境)中编写宏代码。

2.1录制宏

在Excel2010中,宏录制功能在“开发工具”选项卡中,这与早期的Excel版本有所不同。Excel2010的默认环境中,“开发工具”选项卡是隐藏的,因此在录制宏或编写宏之前,需要将“开发工具”选项卡显示出来,操作方法是点击“文件-选项-自定义功能区”,选中“开发工具”复选框,确定后即可在Excel窗口中看到“开发工具”选项卡。

利用“开发工具”选项卡中“代码”组中的“录制宏”按钮,在“录制新宏”对话框中,设置宏的名称、保存位置以及快捷键,再单击“确定”按钮,就可以开始宏录制,此时“录制宏”按钮状态变成了“停止制”,点击该按钮即可完成宏录制。为了使录制的宏有效,在宏录制时需要注意以下事项。

1)在录制宏之前,应先制定计划,确定宏要执行的步骤和命令。录制前最好先执行一次,确定每个步骤的详细操作过程,因为如果在录制宏时出现失误,改正失误的操作也会被Excel录制到宏中。

2)如果在录制宏时执行了选择单元格的操作,则每次运行该宏时都将选中对应的单元格,因为宏记录的是单元格的绝对引用。要让宏选择单元格时不考虑活动单元格的位置,可以点击“代码”组的“使用相对引用”按钮,将宏设置为记录单元格相对引用;再次点击该按钮,又将按绝对引用方式记录宏。用户在录制过程中可根据需要改变该按钮的状态。

3)宏保存时需要从“文件类型”中选择“Excel启用宏工作薄(*.xlsm)”类型来保存,否则录制的宏无效。

宏录制过程中,用户进行的相关Excel 的操作大部分将被自动记录为宏代码,单击“代码”组中的“Visual Basic编辑器”按钮或按组合键就可以打开VBE窗口,查看到刚才录制的宏代码。但是这些代码中会有很多多余的指令,需要经过必要的修改才能得到更高效、更智能的代码。以设置表头格式为黑体、20号字并加粗为例进行说明。

2.2 使用VBE创建宏

录制的宏可以忠诚地记录Excel 操作,但也有其本身的局限性,如录制的宏无判断或循环能力,只能简单执行,无人机交互能力。因此,对于很多无法录制的复杂操作,如创建新的窗体等,在VBE中使用VBA代码创建宏是唯一的方法。在创建宏之后,可以将宏分配给对象,如按鈕、图形、控件和快捷键等,这样执行宏就像点击按钮或快捷键一样简单。

VBA的语言要素非常多,不论是使用VBA代码创建宏,还是修改录制宏时产生的代码都需要具备一定VBA或VB编程基础的用户才能完成。在此仅通过一个应用实例说明用VBA编程解决问题的思路。

实现功能:合同到期自动提醒。问题描述:Excel工作表中有100多名合同客户信息,A列为姓名,B列为合同起始日期,C列为合同到期日期,要求在打开工作表的同时自动给出提示,每个合同到期前15天内,每天都要有提示。

这是一个打开工作薄即自动运行宏的问题,用录制宏是无法完成的,必须在VBE环境中用VBA直接编写宏代码来解决,可以设置一个自动运行的宏,名称为Auto_Open,则每次打开包含此宏的工作薄时,宏代码会在后台自动运行,给出提示对话框。用VBA编写的宏代码如下,打开VBE窗口,在模块1的代码窗体里输入这段代码后,保存工作薄为“Excel启用宏工作薄(*.xlsm)”类型,再次打开此工作薄时会自动弹出一个个对话框,显示某某客户的合同还有多少天到期,请尽快续约的提示信息。

3 宏的安全性

宏是由VBA代码组成的。从Office软件支持宏开始,宏病毒也随之出现,许多病毒经过专门设计,可以利用VBA宏对系统和数据文件进行恶意操作,宏的安全性越来越受到用户的重视。在Excel2010中,用户可以选择宏安全设置,以便控制打开包含宏的工作薄时的行为,能够在大部分情况下杜绝宏病毒对工作薄造成的危害。

3.1 宏安全性设置

要设置宏的安全性,用户可以通过点击“开发工具”选项卡中“代码”组里的“宏安全性”,在打开的“信任中心”对话框的“宏设置”来设置宏启用时的状态。默认情况下,宏是被禁止的,启用时会发出通知,用户需要选择启动内容才可以运行宏。

3.2 数字签名

宏更安全的设置方法是数字签名,就是给宏加上电子的基于加密的安全验证戳,以确认宏是来自签名者并且没有被篡改。Excel2010的数字签名有商用类型和个人类型两种类型,商用类型需要付费,对一般用户来说,个人数字签名就已经比较安全。

在Office的安装目录中有一个名为“SELFCERT.EXE”的应用程序,运行这个程序就可以生成用户的数字签名。具体操作步骤为:第一步,在Windows7系统中,点击“开始—运行”命令,在“运行”对话框中点击“浏览”按钮,在Office的安装文件夹中的“Office14”文件夹中找到“SELFCERT.EXE”程序运行,在打开的“创建数字证书”对话框中输入证书的名称;第二步,在VBE窗口,点击“工具—数字签字—选择证书”,选择在第一步输入的数字证书;第三步,在宏安全设置中,选择禁用无数字签置的所有宏。

4 结论

如果在Excel中重复进行某项工作,可用宏使其自动执行。相对宏录制,在Excel中使用VBA,可以更好地控制Excel,进一步发掘Excel的强大功能,提高Excel的自动化水平。VBA不仅仅应用在微软的应用程序中,在AutoCAD、CorelDRAW等应用程序的新版本中也集成了,作为应用程序自动化语言,VBA在各组件中是通用的。

参考文献:

[1] 伍云辉.精通Excel VBA[M].北京:電子工业出版社,2013.

[2] 罗刚军.Excel2010VBA编程与实践[M].北京:电子工业出版社,2010.

[3] 陈军民.Excel VBA在Office中的应用案例[J].电脑知识与技术,2013.

[4] 方文英. Excel宏编程的应用[J].办公自动化,2008(7).

[5] 王燕.VBA在办公中的编程应用[J].福建电脑,2013(4).

猜你喜欢
选项卡单元格对话框
玩转方格
玩转方格
正常恢复虚拟机
Bootlace Worms’Secret etc.
中学科技(2018年12期)2018-12-19 11:22:28
浅谈Excel中常见统计个数函数的用法
西部皮革(2018年6期)2018-05-07 06:41:07
禁用一切 优化无限
电脑爱好者(2018年4期)2018-03-02 15:38:00
Windows 8专栏
鼠标滚轮隐藏在IE浏览器中的快捷操作
快速抓取对话框中的完整信息
电脑迷(2012年22期)2012-04-29 20:30:54
显示或隐藏“大纲”或“幻灯片”选项卡
微电脑世界(2009年7期)2009-07-31 04:55:28