友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

excel_vba_编程教程(完整版)-第76章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



 AfterUpdate                    N    N                                N   N    N    N             N 
 BeforeDragOver 
 BeforeDropOrPaste 
 BeforeUpdate                   N    N                                N   N    N    N             N 
 Change                         N    N                                N   N                       N 
 Click                                   N                                               N   N         N 
 DblClick                                                                                N   N 
 Deactivate                          N        N    N    N   N    N    N   N    N    N    N   N    N    N 
 DropButtonClick                N    N             N    N   N    N    N   N    N    N    N   N    N 
 Enter                          N    N                                                            N 
 Error 
 Initialize                          N   N    N    N    N   N    N    N   N    N    N    N   N    N    N 
 Exit                           N    N                                                            N 
 KeyDown                             N                                                            N 
 KeyPress                            N                                                            N 
 KeyUp                               N                                                            N 
 Layout                              N   N    N    N    N   N    N        N    N         N   N    N    N 
 MouseDown                                                                               N   N 
 MouseMove                                                                               N   N 
 MouseUp                                                                                 N   N 
 QueryClose                          N   N    N    N    N   N    N    N   N    N    N    N   N    N    N 
 RemoveControl                       N   N    N    N    N   N    N        N    N         N   N    N    N 
 Resize                              N   N    N    N    N   N    N    N   N    N    N    N   N    N    N 
 Scoll                               N   N    N    N    N   N    N        N    N             N    N    N 
 SpinDown                       N    N   N    N    N    N   N    N    N   N    N    N    N        N    N 
 SpinUp                         N    N   N    N    N    N   N    N    N   N    N    N    N        N    N 
 Terminate                           N   N    N    N    N   N    N    N   N    N    N    N   N    N    N 
                                                                                                             
表10…2 窗体和控件事件  
你创建的每个窗体都有一个窗体模块用来储存VBA事件过程。你可以通过以下几种方式来进入窗体 
模块,编写事件过程或者找到某个控件可识别的事件:  
* 双击某个控件  
* 在控件上单击右键,并选择快捷菜单上的查看代码  

                                                   200 

… 页面 217…

* 点击工程浏览窗口的查看代码按钮  
* 双击用户窗体上任何未用的区域  
执行以上任意操作都会导致打开窗体的代码窗口。图10…15显示了通过双击窗体上的命令按钮而激 
活的代码窗口。注意,Microsoft Visual Basic标题栏显示的标题:Chap10。xls – 'UserForm1(代 
码)'。窗体模块包含一个“通用”部分,也包含放置于窗体上面的每个控件的部分。通用部分用来 
声明窗体变量或者常量。  
你可以通过点击右上角复合框右边的向下箭头来进入预期的部分。该复合框被称为过程框,它显示 
左手边复合框显示控件可以识别的所有事件过程。已经编写了过程的事件显示为粗体。  

                                                                                   
图10…15 过程框列出了命令按钮控件可用的事件过程  

28。编写 VBA 过程对窗体和控件事件反应  

在用户能够使用自定义窗体完成特殊任务之前,你通常必须编写一些VBA过程。正如前面提及的, 
VB编辑器创建的每个窗体都有一个模块以储存该窗体使用的过程。  
在显示自定义窗体之前,你可以需要设置控件的初始值。编写一个Initialize事件过程,可以给控 
件设置初始值,或者说默认值,每次显示窗体的时候控件都会拥有这些值。  
Initialize事件发生在窗体启动时,但是在它显示在屏幕之前。假设你想要Info Survey窗体显示 
以下初始设置:  
1。 在Main Interest框架里,选择了Hardware按钮  
2。 下面的列表框包含了对应Hardware选项按钮的内容  
3。 puter Type复选框里没有一个复选框是被选中的  
4。 标签Where Used下面复合框显示第一条可用的项目,并且用户不能给该复合框添加项目  
5。 在旋转按钮旁边的文字框显示初始值(0)  
6。  图像控件显示与Hardware或Software选项按钮相关的图片  

29。编写过程来初始化窗体  

1。 在工程浏览器窗口,双击InfoSurvey窗体  
2。 双击窗体背景,打开活动窗体的代码窗口。  
    当你双击窗体或控件的时候,代码窗口会自动打开并且该被点击的窗体或者控件的Click事件就 
会出现以编辑。  
    在过程定义(图10…15)时,VB自动在关键字Sub之前添加Private。私有过程只能从当前窗体模 
    块里调用,换句话说,在当前工程的其它模块里的过程不能调用该私有过程。在代码窗口的顶 
    端,有两个复合框,左边的复合框显示所有的窗体对象;右边的复合框则显示所选控件能够识 
    别的所有事件。  
3。 点击过程框的向下箭头,并且选择Initialize事件,VB将显示UserForm_Initialize过程在代码 
                                          201 

… 页面 218…

    窗口:  
   Private Sub UserForm_Initialize()   
   End Sub   
4。 在关键字Private Sub和End Sub之间输入窗体的初始设置,完整的UserForm_Initialize过程如 
   下所示:  
   Private Sub UserForm_Initialize()   
         'select the Hardware option 选择Hardware选项  
         optHard。Value = True   
         'turn off the Software option and all the check boxes 关闭Software选项和所有 
         复选框  
         optSoft。Value = False   
         chkIBM。Value = False   
         chkNote。Value = False   
         chkMac。Value = False   
         'display a zero in the text box 文字框显示0  
         txtPercent。Value = 0   
         'call the procedure to populate the list box with   
         'hardware options 调用过程用硬件选项来填充列表框  
         Call ListHardware   
         'populate the bo box 添加复合框项目  
         With Me。cboxWhereUsed   
              。AddItem 〃home〃   
              。AddItem 〃work〃   
              。AddItem 〃school〃   
              。AddItem 〃work/home〃   
              。AddItem 〃home/school〃   
              。AddItem 〃work/home/school”   
         End With   
         'select the first element in the bo box 选择复合框第一个项目  
         Me。cboxWhereUsed。ListIndex = 0   
         'select the first element in the list box 选择列表框的第一个项目  
         Me。lboxSystems。ListIndex = 0   
         'load a picture file for the Hardware option 上载Hardware选项的图片文件  
         Me。picImage。Picture = LoadPicture(〃C:cd。bmp〃)   
   End Sub   
   你可以使用关键字Me代替窗体的实际名称来简化事件过程代码,例如,除了使用语句:  
    InfoSurvey。cboxWhereUsed。ListIndex = 0   
   之外,你也可以使用下面的语句,节约打字时间:  
   Me。cboxWhereUsed。ListIndex = 0   
   特别是当窗体名称很长时,这种技术很有用。注意,列表框的第一个成员的索引号为0,因此, 
   如果想要选择列表里的第二个项目的话,你就必须设置其ListIndex属性为1。  
   该过程结束时给图像控件上载图片,请确保该指定的图片文件可以在指定的文件夹里找到。如 
   果你没有该文件,那么输入你想显示的图片文件的完整路径。  
   过程UserForm_Initialize调用外部过程(ListHardware)用硬件成员来填充它的列表框控件。  
5。 激活ShowSurvey模块并且输入过程Lis
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!