加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Office软件自动执行的宏

(2022-04-24 12:03:07)
分类: 编程
刘瑞祥
  这里汇集了一些Office软件可以自动执行的过程名。
一、幻灯片页面切换时执行过程OnSlideShowPageChange
    Public Sub OnSlideShowPageChange()
        Msgbox "幻灯片页面刚打开时执行"
        '建议将代码放在标准模块里,但也可以放在页面模块里,下同
    End Sub
  注意,即使是你把上述代码放在某一页的页面代码里,在放映的时候仍然是每切换一页就执行一次,不会是只在该页执行:如下图所示,一共有三张幻灯片,只在第一页的幻灯片里写了代码,但每切换到新的一页都会执行。当然,我们可以在代码中加入判断页面序号或者标题的语句,使代码在不同页面执行不同功能。
Office软件自动执行的宏

二、幻灯片文件结束放映时执行过程OnSlideShowTerminate
    Public Sub OnSlideShowTerminate()
        Msgbox "幻灯片结束放映时执行"
    End Sub
  不论你从哪一页退出放映,都会执行上述代码。同样的,我们也可以在其中加入判断页面序号或标题的语句。如果是执行到最后才退出,一定是先出现“大黑块”(放映结束,单击鼠标退出)再单击一下鼠标才执行代码。
三、Excel的工作表事件
  一个Excel文件结束一个工作簿,可能包含一个或多个工作表(默认情况下,新建一个Excel文件里有三个空白的工作表)。这里提到的工作表事件,在工作表中发生更改时被触发。它是通过右键单击工作表选项卡并选择“查看代码”,然后粘贴代码来创建的。用户可以选择这些工作表中的每一个,并从下拉列表中选择“工作表”以获取所有支持的工作表事件的列表。
Office软件自动执行的宏
  以下是可以由用户添加的支持的工作表事件(注意这里可以是Private的,但前面的幻灯片不行)。
  • Private Sub Worksheet_Activate() 
  • Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    
  • Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 
  • Private Sub Worksheet_Calculate() 
  • Private Sub Worksheet_Change(ByVal Target As Range) 
  • Private Sub Worksheet_Deactivate() 
  • Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) 
  • Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Office软件自动执行的宏
  在下面的示例中,双击之前显示一条消息。
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        MsgBox "双击工作表"
    End Sub
四、Excel的工作簿事件
  工作簿事件总是在工作簿发生更改时触发的。可以通过选择“ThisWorkbook”添加工作簿事件的代码,如下图所示。
Office软件自动执行的宏
  以下是可以由用户添加的受支持的工作簿事件。
  • Private Sub Workbook_AddinUninstall() 
  • Private Sub Workbook_BeforeClose(Cancel As Boolean) 
  • Private Sub Workbook_BeforePrint(Cancel As Boolean) 
  • Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
  • Private Sub Workbook_Deactivate() 
  • Private Sub Workbook_NewSheet(ByVal Sh As Object) 
  • Private Sub Workbook_Open() 
  • Private Sub Workbook_SheetActivate(ByVal Sh As Object) 
  • Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 
  • Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 
  • Private Sub Workbook_SheetCalculate(ByVal Sh As Object) 
  • Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
  • Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 
  • Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 
  • Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) 
  • Private Sub Workbook_WindowActivate(ByVal Wn As Window) 
  • Private Sub Workbook_WindowDeactivate(ByVal Wn As Window) 
  • Private Sub Workbook_WindowResize(ByVal Wn As Window)
Office软件自动执行的宏
  在下面的示例中,创建一个新的excel工作表后,会向用户显示一条消息。
    Private Sub Workbook_NewSheet(ByVal Sh As Object)
       MsgBox "建立了一个新的工作簿"
    End Sub

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有