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

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

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



 示例21 – 试验:在VB编辑器窗口,激活工程浏览器窗口并且打开Excel对象文件夹。双击 
 ThisWorkbook并输入示例程序。切换 到Excel窗口并且点击还原按钮(工作簿,非Excel应用软件)。 
 通过拖曳窗口内部边框改变当前活动窗口大小时,一旦你完成大 小调整操作,该工作簿窗口会 
  自动跳到屏幕的左上角(Excel应用软件窗口的左上角)。  
 下述表格描述了Excel 2002里增加的工作簿事件。    
   
 事件名称                       描述  
 PivotTableOpenConnection       当数据透视表报告打开对其数据源的连接时发生该事件。该事件 
                                要求你 在类模块里面使用WithEvents关键字声明一个 
                                Application或者Workbook类型对象。(参见“图表事件”和“应 
                                用程序对象识别的事 件”部分有关该关键字使用的示例)  
 PivotTableCloseConnection      当数据透视表报告关闭对其数据源的连接 
                                后发生该事件。该事件要求你 在类模块里 
                                面使用WithEvents关键字声明一个 
                                Application或者 Workbook类型对象。 
                                 (参见“图表事件”和“应用程序对象识 
                                别的事 件”部分有关该关键字使用的示 
                                例)  
 SheetPivotTableUpdate          当数据透视表报告被更新后发生该事件。该事件要求你在类模块里使 
 需要下述两个参数:             用 关键字WithEvents声明一个Application或者Workbook的type对 
 Sh – 被选择的工作表           象(参 见示例 9,需要使用关键字WithEvents设置事件处理的相关 
 Target – 被选择的数据透视表  信息)。该 事件处理可以在附带CD里的PivotReport。xls里找到。  
 报 告                          Private Sub App_SheetPivotTableUpdate( _  
                                  ByVal Sh As Object; ByVal Target As PivotTable)  
                                    MsgBox 〃Pivot Table has been updated。〃  
                                End Sub  

                                           281 

… 页面 298…

  

6。图表事件  

  众所周知,你可以创建一个内嵌在工作表里的图表,也可以创建一个单独的图表工作表。在本节, 
 你将学习如何控制图表事件, 不管你决定了将你的图表放在哪里。在你试验图表事件之前,做以 
 下几件事情:  
 1。  打开一个新Excel工作簿,并且保存为ChartEvents。xls  
 2。  输入示例数据,如图14…6所示  
 3。  选择单元格区域A1:D4,并点击工具栏上的图表按钮  
 4。  准备一个柱型图,如图14…6所示,并将其内嵌于工作表内  
 5。  使用相同的数据,创建一个折线图于一个单独的图表工作表(参见图14…7)  
 6。  将图表工作表名称改为Sales Analysis Chart。  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                                                                     
   
 图14…6 内嵌于工作表的柱型图  

                                                                                             
 图14…7 置于图表工作表里的折线图  
 下面的表格列出了图表对象的事件。在该表格里示范的示例程序应该在你刚才放置在图表工作表里 
 的折线图上试验(参见图  
 14…7)。内嵌于工作表里的图表的事件需要特别设置,本章稍候将讲解。  
 1。  在VB编辑器窗口,激活工程浏览器窗口并打开Excel对象文件夹  
 2。  双击图表对象Chart1 (Sales Analysis Chart)  
 3。  在代码窗口,输入事件程序,如下表所示  
 4。  激活图表工作表,并执行一些将引发事件过程的操作。例如,点击图表标题后, 
                                          282 

… 页面 299…

    Chart_MouseDown和Chart_Select事件就 会被引发。  
事件名称                        描述  
Activate                        当用户激活图表工作表时引发该事件  
                                Private Sub Chart_Activate()  
                                  MsgBox 〃You've activated the chart sheet。〃  
                                End Sub  
Deactivate                      当用户离开该图表时引发该事件(进入其它工作表)  
                                Private Sub Chart_Deactivate()  
                                  MsgBox 〃It looks like you want to leave the chart sheet。〃  
                                End Sub  
Select                          当用户选择了某个图表成员时引发该事件  
                                Private Sub Chart_Select(ByVal ElementID As Long; _  
                                  ByVal Arg1 As Long; ByVal Arg2 As Long)  
                                    If Arg1  0 And Arg2  0 Then  
                                      MsgBox ElementID & 〃; 〃 & Arg1 & 〃; 〃 & Arg2  
                                    End If  
                                    If ElementID = 4 Then  
                                   MsgBox 〃You've selected the chart title。〃  
                                    ElseIf ElementID = 24 Then  
                                      MsgBox 〃You've selected the chart legend。〃  
                                    ElseIf ElementID = 12 Then  
                                      MsgBox 〃You've selected the legend key。〃  
                                    ElseIf ElementID = 13 Then  
                                      MsgBox 〃You've selected the legend entry。〃  
                                    End If  
                                End Sub  
ElementId返回一个代表所选图表成员的常数。参数Arg1和Arg2用于某些相关的 
图表成员上。例如,图表坐 标轴(ElementId=21),可以明确是主坐标轴(Arg1=0) 
或者次坐标轴 (Arg1=1),而坐标轴的类型则由 参数Arg2确定,它可以是下述 
三种之一:  
0 – 分类轴,1 – 数值轴,或者3 – 系列轴  
SeriesChange                    当用户更改图表数据点时,引发该事件。图表对象应该在类模块 
                                里使用 关键字WithEvents进行声明。  
Calculate                       当用户选择新数据或者改变图表数据时,引发该事件。  
                                Private Sub Chart_Calculate()  
                                  MsgBox 〃The data in your spreadsheet has 〃 & vbCrLf _  
                                    & 〃changed。 Your chart has been updated。〃  
                                End Sub  
Resize                          当用户改变图表大小时,引发该事件。该图表对象应该在类模块 
                                里面使 用WithEvents关键字来声明  
DragOver                        当用户拖曳数据到该图表时,引发该事件。该图表对象应该在类 
                                模块里 面使用WithEvents关键字来声明  
DragPlot                        当用户拖曳单元格区域到图表时,引发该事件。该图表对象应 
                                该在类模 块里面使用WithEvents关键字来声明  
BeforeDoubleClick               当用户双击图表时,引发该事件  
BeforeRightClick                当用户右键单击图表时,引发该事件  
                                Private Sub Chart_BeforeRightClick(Cancel As Boolean)  
                                  Cancel = True  
                                End Sub  
当你将参数Cancel设置为True后,你就不能访问图表区域快捷菜单了  
MouseDown                       当光标在图表之上并按下鼠标时,引发该事件  
                                Private Sub Chart_MouseDown(ByVal Button As Long; _  
                                  ByVal Shift As Long; ByVal x As Long; ByVal y As _  
                                         Long)  
                                        If Button = 1 Then  
                                        MsgBox 〃You pressed the left mouse button。 〃  
                                        ElseIf Button = 2 Then  
                      
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!