ArcMap中VBA编程的方法有两种,一种是写VBA宏,另一种是创建UIControl并在其事件中写入实现用户需求的代码。下面列出两种方法的一般步骤。
方法一:写VBA宏(直接在VBA编辑器中编辑函数和过程)
1、如图1,单击菜单栏中的
图1 启动Macro对话框/启动VBA编辑器
图2 Macro对话框 图4 启动“Customize”对话框 2、切换到“Customize”对话框的“Commands”页,选中“UIControls”后点击 图5 Customize对话框 图6 New UIControl对话框 4、UIControl创建后,在图5所示的“Customize”对话框选中UIControl并将其拖置到任意工具条上,用户便可象使用系统已有的Control一样使用所创建的UIControl。
2、在图3所示的窗口中,用户可以根据实际选择在Normal节点或者Project节点的ThisDocument、Forms、Modules中编写宏(函数或过程),Normal节点下所写的宏系统自动保存,除非用户删除,否则它将始终存在并在任何工程中都有效;而在Project节点下所写得宏随工程保存(如不保存工程,则宏也将不被保存),并中有效。
3、运行VBA宏
在VBA编辑器中写好VBA代码后,有两种方式运行:第一,点击VBA编辑器工具条中的 (运行)按钮,可立即运行写好的代码;第二,退出VBA编辑器,重新启动Macro对话框,如图2,选择要运行的VBA宏名称,点击
方法二:创建UIControl(交互式VBA编程)
1、用鼠标右击任何工具栏(条),在弹出的上托式菜单中选择
3、在“New UIControl”对话框中,用户可根据需要选择UIControl类型:
UIButtonControl:创建Button;
UIToolControl:创建与Map交互的Tool;
UIEditBoxControl:创建EditBox;
UIComboBoxControl:创建ComboBox。
最后点击
图3 VBA编辑器(VBE)