禁用指定宏后作品就安全许多 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 |
|
来自: lwc5577 > 《电脑应用-EXCEL应用》