如何在启动excel时屏蔽“开发工具”或其下的“设计模式“
我用execl 2016设计了一个小程序,由于不能保护工作薄,需要与用户有一定的交互操作,所以希望在excel启动时就屏蔽掉“开发工具”选项卡或其下的“设计模式”变为灰色状态,找了很多网页,大多是一闪而过,“设计模式”均可正常使用,请高手出手相助。谢谢!!、下面是我找到的几行代码,应该是目前网络上可见的最高水平:
Sub EnterExitDesignMode(bEnter As Boolean)
Dim cbrs As CommandBars
Const sMsoName As String = "DesignMode"
Application.OnTime Now + TimeSerial(0, 0, 1), "TIMER_TEST"
Set cbrs = Application.CommandBars
If Not cbrs Is Nothing Then
If cbrs.GetEnabledMso(sMsoName) Then
If bEnter <> cbrs.GetPressedMso(sMsoName) Then
cbrs.ExecuteMso sMsoName
Stop
End If
End If
End If
End Sub
Public Sub TIMER_TEST()
If ActiveSheet.Name = strSheetName Then
EnterExitDesignMode True
Else
End If
End Sub
---------------------------------------------------------------
CommandBars("Exit Design Mode").Controls(1).Execute 'Enter Design Mode
CommandBars("Exit Design Mode").Controls(1).Reset 'Exit Design Mode 在线等,大家出手帮忙 你就不能用其他编译语言编译吗 感觉靠excell中的vba禁用菜单不行吧?很容易爆破的。 真心不错的呀 想要起啥作用? 我心飞翔1995 发表于 2022-5-29 18:14
你就不能用其他编译语言编译吗
接下来,与用户的交互,也是在excel环境下进行的 shaokui123 发表于 2022-5-29 20:40
想要起啥作用?
我添加的命令按钮类的控件,因为有设计模式的存在而轻易被用户删除或更改,虽然有工程保护,但如果用户用设计模式“有意”更改了,总觉得我编写的这个小程序有点不严谨的地方。 cn2jp 发表于 2022-5-29 18:55
感觉靠excell中的vba禁用菜单不行吧?很容易爆破的。
以前在excel2003环境下,很容易做到的,将大部分的菜单命令屏蔽掉。到了2016后,要做到将“开发工具”完全屏蔽掉,总也没找到合适的代码。而且这个小程序在接下来的操作环境,必须是在2016的真实环境下操作。 微软同意吗?