1.2 使用VBE

在本节中,用户将了解VBA的编辑环境VBE。熟悉VBE各部分组件的功能和设置,这将会给读者编写代码带来很大的便利。用户可以根据自己编码的习惯显示不同的窗口并设置VBE的编码属性。本节将结合具体例子讲解如何使用VBE。

案例4 添加模块

功能说明:模块是VBA编程的起点,几乎所有的代码都保存在某个模块中。本例将讲解如何添加模块。

语法说明:在Excel VBA中,通常有三种方法向工程中添加模块:

·录制宏。当用户录制宏时,系统将自动插入VBA模块,并将宏代码放在该模块中。

·在VBE中,选择工具栏中的“插入”|“模块”选项。

·在VBE中,右击“工程”子窗口,弹出快捷菜单,选择“插入”|“模块”选项。

案例说明:在本例中,首先演示如何在VBE中添加新的模块,然后设置模块的属性。

编写代码:(1)添加新的模块。右击“工程”子窗口,弹出快捷菜单,选择“插入”|“模块”选项,如图1.13所示。添加后的新模块如图1.14所示。

图1.13 进入VBE环境

图1.14 添加的新模块

(2)修改模块的名称。在“属性”列表中,在“名称”选项中输入“MyModule”,修改模块的名称,结果如图1.15所示。

图1.15 修改模块的名称

运行结果:从前面的结果中,用户可以查看添加的模块,如图1.16所示。

图1.16 添加的模块

程序分析:当工程中的模块较少时,可以使用默认的名称。但是,当工程比较复杂,模块比较多时,建议用户在添加模块的时候,自行设置符合工程属性的名称。

案例5 导出模块

功能说明:用户在实际开发时,特别是开发大型程序时,会遇到功能雷同的模块。例如,在多个项目中,都需要使用“设置格式”功能。用户可以避免每次都编写同样的模块,而只需编写一个模块,然后将其导出保存。当需要使用这种功能时,导入这个模块。

关键技术:在Excel VBA中,根据输出类型的不同,用户可导出三种模块:模块、类模块和窗体。根据不同类型的模块,可以导出的文件类型也不同。具体文件类型如下:

·BAS:导出模块文件的扩展名。

·FRM或FRX:导出用户窗体的扩展名。

·CLS:导出类模块的扩展名。

案例说明:本例将演示如何将编写的模块导出并保存。

编写代码:(1)复制前文中的“录制宏”文件,并将其名称修改为“导出模块”。然后按快捷键“Alt+F11”,进入VBE,如图1.17所示。

(2)选择导出模块。选中前面章节添加的模块,右击鼠标,在弹出的快捷菜单中选择“导出文件”选项,如图1.18所示。

图1.17 进入“导出模块”的VBE

图1.18 导出模块

(3)选择文件的保存路径。选择对应的选项后,Excel会弹出“导出文件”对话框,在其中选择导出模块的保存路径,如图1.19所示。

图1.19 选择保存路径

运行结果:查看导出的模块。在模块保存的路径中,用记事本打开模块文件,如图1.20所示。

程序分析:当用户导出模块时,可以自定义模块的名称,用户可以根据定义的模块名称,来查看或者分析模块功能。

图1.20 查看导出的模块

案例6 导入模块

功能说明:前面案例已经讲解到,导出模块的主要功能是为了在其他情况下,能够使用该模块的功能。使用模块功能的主要方法就是导入模块。

语法说明:导入模块是导出模块的反向操作。当用户导入模块时,VBE根据扩展名来判断导入的模块类型,具体是模块、类模块或窗体。

案例说明:本案例将演示如何向VBA文档中导入之前保存的模块文件。

编写代码:(1)新建Excel文件,然后进入VBE环境,选择工具栏中的“文件”|“导入文件”命令,如图1.21所示。

(2)选择需要导入的文件。在前面步骤中打开的“导入文件”对话框中,选择前面案例中导出的文件模块,然后单击“打开”按钮,如图1.22所示。

运行结果:当用户单击“打开”按钮后,在Excel VBA中导入相应的模块,如图1.23所示。

图1.21 选择导入文件

图1.22 导入文件

图1.23 导入的模块

程序分析:当用户向Excel VBA文件中导入其他类型的模块文件,操作方法和本例类似,这里不再重复介绍。

案例7 显示属性列表

功能说明:当用户在进行VBA编程时,经常需要用到对象的属性或者方法。Excel VBA对同一个对象提供了多个属性。如果用户自行输入属性的代码,会经常犯错误。在VBE中,当用户在窗口中输入对象名称和句点时,窗口中会显示属性列表,用户可以在列表中选择。

语法说明:在VBE代码窗口中,当用户输入对象名和一个句点后,如果没有弹出“属性/方法”列表框,可使用以下方法显示该列表框。

·按下“Ctrl+J”组合键。

·单击“编辑”工具栏中的“属性/方法列表”按钮。

·右击代码窗口中的对象代码,在弹出的快捷菜单中选择“属性/方法列表”命令。

案例说明:本例将演示如何在VBE的代码窗口中显示“属性/方法列表”。

编写代码:(1)新建Excel文件,然后进入VBE环境,插入新的模块和过程,并在其中输入代码“ThisWorkbook”,然后输入一个句点,系统会弹出属性和方法的列表,如图1.24所示。

(2)完成代码语句。在属性列表中选择“ActiveSheet”选项,完成代码语句,如图1.25所示。代码如下:

ThisWorkbook.ActiveSheet.Cells(2, 3) = "Excel VBA"

运行结果:当用户完成代码后,按快捷键F5,测试程序,得到的结果如图1.26所示。

程序分析:在“属性/方法”列表中,图标表示内容属于方法,图标表示内容属于属性。通过上面的图标,用户可以方便地判断对应的内容。

图1.24 显示列表

图1.25 完成代码语句

图1.26 程序调试结果