分享

Excel 保护作品禁用指定宏的代码

 lwc5577 2020-03-20
禁用指定宏后作品就安全许多
Option Explicit
    Dim CmdCtrls As CommandBarControls
    Dim Cmd As CommandBarControl
Sub 禁用指定宏()
    Set CmdCtrls = Application.CommandBars.FindControls(ID:=859)
    For Each Cmd In CmdCtrls
        Cmd.Enabled = False
    Next
    Application.CellDragAndDrop = False
   End Sub
Sub 恢复指定宏()
    Set CmdCtrls = Application.CommandBars.FindControls(ID:=859)
    For Each Cmd In CmdCtrls
        Cmd.Enabled = True
    Next
    Application.CellDragAndDrop = True
  End Sub
加强版
Sub 禁用指定宏()
With Application
.CommandBars("Button").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Forms").Controls("按钮(&B)").Enabled = False '禁用窗体的按钮
.CommandBars("Object/Plot").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Shapes").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Inactive Chart").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Excel Control").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Curve").Controls("指定宏(&N)...").Enabled = False
.CommandBars("Pictures Context Menu").Controls("指定宏(&N)...").Enabled = False
.CommandBars("OLE Object").Controls("指定宏(&N)...").Enabled = False
End With
End Sub
Sub 恢复指定宏()
With Application
.CommandBars("Button").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Forms").Controls("按钮(&B)").Enabled = True
.CommandBars("Object/Plot").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Shapes").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Inactive Chart").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Excel Control").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Curve").Controls("指定宏(&N)...").Enabled = True
.CommandBars("Pictures Context Menu").Controls("指定宏(&N)...").Enabled = True
.CommandBars("OLE Object").Controls("指定宏(&N)...").Enabled = True
End With
End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多