Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4961|回复: 7

[分享] 【烟花原创】VBA零基础之第39篇 Workbook对象(六)

[复制链接]
发表于 2013-12-2 19:52 | 显示全部楼层 |阅读模式
本帖最后由 hwc2ycy 于 2013-12-4 21:11 编辑

  Workbook.NewSheet 事件
  当在工作簿中新建工作表时发生此事件。
  语法:NewSheet(Sh)
  Sh 必选参数,Object类型,可以是一个Worksheet Chart 对象。
  示例:
   Private Sub Workbook_NewSheet(ByVal Sh AsObject)
    Application.DisplayAlerts = False
    Sh.Delete
    Application.DisplayAlerts = True
   End Sub
   每次新建工作表时就删除(让你没法新建工作表)

   Private Sub Workbook_NewSheet(ByVal Sh asObject)
    Sh.Move After:= Sheets(Sheets.Count)
   End Sub
   新建的工作表移到工作簿的末尾。

  Workbook.Open 事件
  打开工作簿时,发生此事件。
  示例:
   Private Sub Workbook_Open()
    Application.WindowState = xlMaximized
   End Sub
   ‘ApplicationWindoState属性返回或设置窗口的状态
   ‘xlMaximized窗口最大化
   可以利用这个事件实现诸如登陆窗口等等一些实现的功能。

  Workbook.WindowActivate 事件
  工作簿窗口被激活时,将发生此事件。
  语法:WindowActivate(Wn)
  Wn必选参数,代表激活的窗口,Window对象
  示例:
   Private Sub Workbook_WindowActivate(ByValWn As Excel.Window)
    Wn.WindowState = xlMaximized
   End Sub
   工作簿窗口被激活时将该窗口最大化。

  Workbook.WindowDeactivate 事件
  任何工作簿窗口被停用时将发生此事件。
  示例:
   Private Sub Workbook_WindowDeactivate(ByValWn As Window)
    Wn.Parent.Save
   End Sub
   工作簿窗口是隶属于工作簿的,所以工作簿窗口的parent也就是工作簿。
   当然你写成me.save也是可以的。这里只是从对象理解的角度来诠释。
   大家可以想想range,worksheet,workbook,workbooks的Parent又分别是什么。

  Workbook.WindowResize 事件
  任何工作簿窗口调整大小时将发生此事件。
  语法:WindowResize(Wn )
  Wn 代表 Window 调整大小的窗口。
  示例:
   Private Sub Workbook_WindowResize(ByVal WnAs Excel.Window)
    Application.StatusBar = Wn.Caption & "  窗口大小发生改变"
   End Sub
   ‘Application.StatusBar 返回或设置状态栏中的文字。
   若要恢复默认的状态栏文字,可将本属性设为 False,这在状态栏处于隐藏状态时也起作用。

  Workbook.AddinInstall 事件
  当工作簿作为加载宏安装时,发生此事件
  示例:
   Private Sub Workbook_AddinInstall()
    With Application.CommandBars("Standard").Controls.Add
     .Caption = "The AddIn's menu item"
     .OnAction = "'ThisAddin.xls'!Amacro"
    End With
   End Sub
   在加载宏时在标准工具栏内添加菜单项

  Workbook.AddinUninstall 事件
  当工作簿作为加载宏卸载时,发生此事件。
  示例:
   Private Sub Workbook_AddinUninstall()
    Application.CommandBars("Standard").Reset
   End Sub
   恢复默认的标准工具栏,撤消之前添加的菜单项

  Workbook.AfterSave 事件
  在保存工作簿之后发生。
  语法:AfterSave(Success)
  Success 必选参数,表示保存操作是否成功。
  示例:
   Private Sub Workbook_AfterSave(ByValSuccess As Boolean)
    Dim str As String
    str = "工作簿保存失败,请检查后再次保存"
    If Success Then str = "工作簿保存成功"
    MsgBox str
   End Sub

评分

参与人数 1 +15 收起 理由
云影 + 15 很给力!

查看全部评分

发表于 2013-12-2 21:08 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-2 22:02 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-15 08:52 | 显示全部楼层
谢谢老师
回复

使用道具 举报

发表于 2013-12-30 10:50 | 显示全部楼层
{:1112:}
回复

使用道具 举报

发表于 2014-6-18 11:15 | 显示全部楼层
回复

使用道具 举报

发表于 2014-6-18 22:54 | 显示全部楼层
   Private Sub Workbook_AddinInstall()
    With Application.CommandBars("Standard").Controls.Add
     .Caption = "The AddIn's menu item"
     .OnAction = "'ThisAddin.xls'!Amacro"
    End With
   End Sub
   ‘在加载宏时在标准工具栏内添加菜单项
谢谢分享,标记,三十九
回复

使用道具 举报

发表于 2015-7-29 22:07 | 显示全部楼层
Mark Mark
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 14:43 , Processed in 0.279869 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表