excel表格_excel函数公式大全_execl从入门到精通
利用VBA代码屏蔽EXCEL工作表操作时的右键命令2024-05-19 17:24:48
大家好,我们今日继续讲解VBA代码解决方案的第51讲内容:如何屏蔽工作表的右键所有的命令。比如我自己在利用EXCEL做一些VBA程序时,往往会想尽一切办法让界面简洁、再简洁,这个界面就是所谓的自定义的界面,在使用自定义的操作界面时,这时,问题来了,如果需要屏蔽Excel中所有的右键命令栏,是否可以做到呢?答案当然是肯定的。
再讲解本节的内容之前,我们要先复习一下循环语句,什么是循环语句呢?在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。在VBA中循环语句常用的有FOR NEXT循环,FOR EACH循环及DO WHILE循环,我们今天讲解的将利用循环语句。
好了,言归正传,我们看下面的代码。
Sub MyShowShortcuts2()
Dim Ctrl As CommandBar
Dim i As Integer
i = 2
For Each Ctrl In Application.CommandBars
Cells(i, 1) = Ctrl.accName
Cells(i, 2) = Ctrl.accDescription
Cells(i, 3) = Ctrl.ID
Cells(i, 4) = Ctrl.Enabled
If Ctrl.Enabled = True Then Ctrl.Enabled = False
Cells(i, 5) = Ctrl.Enabled
i = i + 1
Next
End Sub
Sub MyShowShortcuts1()
Dim Ctrl As CommandBar
Dim i As Integer
i = 2
For Each Ctrl In Application.CommandBars
Cells(i, 1) = Ctrl.accName
Cells(i, 2) = Ctrl.accDescription
Cells(i, 3) = Ctrl.ID
Cells(i, 4) = Ctrl.Enabled
'If Ctrl.Enabled = True Then Ctrl.Enabled = False
Cells(i, 5) = Ctrl.Enabled
i = i + 1
Next
End Sub
今日的实测和代码解析讲放在一起:
代码窗口:
代码解析:上面的两段代码分别讲了屏蔽右键的方法,
a) 我们先运行MyShowShortcuts1 这时候将导出Application.CommandBars的所有命令。如下图,这个时候右键是可以用的。
b)我们运行MyShowShortcuts2后这个时候将改变Enabled 的属性,所用的语句如下:If Ctrl.Enabled = True Then Ctrl.Enabled = False这个时候我们可以对照一下前后的区别。截图如下:我们看到更改后的Enabled = False了,这个时候的右键是不起左右的
有了上述的代码,我们就可以达到最初的目的了。
今日内容回向:
1 屏蔽右键的思路是怎么样的?
2 上述代码主要利用到了什么属性。
标签: excel表打不开发送程序命令