宏安全性是在开发Excel2007时需优先考虑的问题。原因是宏的功能非常强大——这种强大的功能会对您的电脑造成严重的损害。创建Exce12007中的宏安全功能有助于防止与宏相关的问题。
如图显示了“信任中心”对话框的“宏设置”部分,要显示该对话框,选择“开发工具”——“代码”——“宏安全性”命令。
默认情况下,Excel使用“禁用所有宏,并发出通知”选项。在该设置有效的情况下,如果打开一个包含宏的工作簿,宏将被禁用, Excel会在编辑栏的上方显示“安全警告”。如果确信工作簿来自于信任源,单击“启用内容”(在后面的对话框中证实您的决定) ,宏将被启用。
或许处理宏安全性的最好方法是指定一个或多个文件夹作为“信任位置”,在信任位置中的所有工作簿都可以在不发出宏警告的情况下打开。可在“信任中心”对话框的“信任位置”部分指定信任文件夹
VBA宏(也称之为一个程序)可以是以下两种类型的其中之一:子程序或函数。
★VBA子程序
可以把子程序当作一个新的命令,能被用户或其他宏执行。在一个Excel工作簿中可以有任意数量的子程序。子程序总是以关键字Sub开始,接下来是宏的名称(每个宏都必须有一个唯一的名称),然后是一对括号(括号是必须的:除了程序使用一个或多个参数之外,其他情况均为空括号)0。End Sub 语句标志着程序的结束。中间的行由程序代码组成。
某些宏可能会含有注释,注释只是给编码者的简要备注,VBA会忽略这些注释。注释行以一个单引号开始。注释也可置于语句的后面。换言之,当VBA碰到一个单引号时,就会忽略本行中引号后面的文本。
可以用下列任意一种方法执行VBA子程序:
●选择“开发工具”——“代码”——“宏”显示“宏”对话框。然后从列表中选择程序名称并单击“执行”。也可以按Alt+F8键或单击Excel状态栏左侧的“播放宏”按钮访问“宏”对话框。
●按程序的快捷组合键(如果该程序有快捷键)。
●如果Visual Basic编辑器是活动的,把光标移到代码内的任意地方,并按F5键。
●在其他的VBA程序中调用该程序。
★VBA函数
第二种类型的VBA过程是函数。函数总是返回单一值(如同工作表函数总是返回单一值一样)。如同可以使用Excel内置的工作表函数一样,VBA函数也可以由其他VBA过程来执行,或在工作表公式中使用。
例如某宏有一个自定义的工作表函数列表和工作表中使用的函数。该函数命名为CubeRoot,它只需要一个参数。CubeRoot函数计算了其参数的立方根。函数过程看起来与子程序很类似。但请注意函数过程是由关键字Function开头,以End Function语句结束的。
VBA是一种极丰富的编程语言,有成千上万的用户在使用它。下面仅列出了可使用VBA宏实现的部分功能。
●插入样本文本:如需在多个单元格中输入标准文本,可创建一个宏来帮助完成键入。
●自动执行需经常执行的过程:例如,您可能需要准备一个月末汇总,如果这个任务很简单,就可以开发一个宏完成该任务。
●自动执行重复操作:如需在12个不同的工作簿中执行同样的操作,可以在第一次执行该任务时录制宏,然后让宏在其他工作簿中重复执行这些操作。
●创建自定义命令:例如,可以把几个Excel命令结合在一起,这样只通过一次接键或一次鼠标点击就可以执行该命令。
●为不熟悉Excel的用户创建一个简化的“前端”:例如可以建立一个非常简单的数据输入模板。
●开发新的工作表函数:虽然Excel包括很多种类的内置函数,但仍可以创建自定义函数,大大简化公式。
●创建完全的宏驱动应用程序:Excel宏可以显示自定义的对话板并对添加到功能区中的新命令做出回应。
●为Excel创建自定义的加载项:大多数Excel中装载的加载项都是由Excel宏创建的。
对宏最广泛的定义是,宏是一组指令,能使Excel的某些操作自动化, 从而您可以更有效地工作并减少错误的发生。例如,您可以创建一个宏,设置月末的销售报告的格式并将其打印。开发宏之后,就可以执行宏来自动完成这些耗时的流程了。
您不必成为一个专业用户就能创建和使用简单的VBA宏。临时用户只需打开Excel宏录制器:Excel将会记录您的活动并把它们转换成VBA宏。当执行该宏时,Excel就会再次执行这些操作。但是更高级的用户能够写一些代码来告诉Excel完成无法录制的任务。例如,可以写一段程序显示自定义对话框、在Excel 菜单中加一条新命令,或在一系列工作簿中处理数据。
如果计划使用VBA宏, 那么需保证“开发工具”选项卡出现在Excel中。要显示该选项卡:
选择“Office按钮”——“Excel选项”命令。在“Excel选项”对话框中,选择“常用”选项卡,选中“在功能区显示‘开发工具’选项卡”复选框,单击“确定”返回Excel。 |