美文网首页
VBA——事件(3)

VBA——事件(3)

作者: 猛犸象和剑齿虎 | 来源:发表于2019-06-22 09:57 被阅读0次
    GIF6.gif

    工作薄事件写在thisworkbook中。

    Private Sub Workbook_Open()
    mon = Format(Now(), "m")
    Sheets(mon & "月").Select
    End Sub
    
    ------------------------------------
    
    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Cancel = True '禁用右键
    End Sub
    
    ---------------------------------------------
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If Month(Now()) & "月" <> ActiveSheet.Name Then
        MsgBox "不能打印"
        Cancel = True
    Else
        MsgBox "能打印"
        Cancel = False
    End If
    End Sub
    

    ①打卡工作簿后自动激活当前月份的工作表
    ②禁用右键事件
    ③工作表名称与当前月份不一致时禁止打印

    事件中的Cancel:

    默认为false,在完成事件内代码效果后,接着继续完成操作的后续效果。
    而为true时,在完成事件内代码效果后,终止当前操作的后续效果。

    相当于给用户控制事件提供一个开关。可以把用户自定义事件代替默认事件
    没有Cancel就是说不给你这个控制权限,一旦一始就要按流程结束。

    单纯的事件并不好用,尤其是excel与wps切换时,总会出现种种问题。兼容性不是很好,本着实用的目的,EXCELvba学会录制宏,工作簿与工作表的基本操作,数组,字典,正则表达式,了解一些控件,图形化操作,基本上到达了初级阶段水平,可以行走江湖了。
    当然EXCELvba这种语言知道的知识冰山一角,它还有许多的接口,比如word接口,ACCESS接口等,大大拓展了VBA的功能。
    永远要知晓的是:计算机语言只是工具,业务能力才是主要的。

    相关文章

      网友评论

          本文标题:VBA——事件(3)

          本文链接:https://www.haomeiwen.com/subject/hhqkqctx.html