liqcang 发表于 2022-5-29 17:28

如何在启动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

liqcang 发表于 2022-5-29 18:04

在线等,大家出手帮忙

我心飞翔1995 发表于 2022-5-29 18:14

你就不能用其他编译语言编译吗

cn2jp 发表于 2022-5-29 18:55

感觉靠excell中的vba禁用菜单不行吧?很容易爆破的。

p紫气东来 发表于 2022-5-29 19:30

真心不错的呀

shaokui123 发表于 2022-5-29 20:40

想要起啥作用?

liqcang 发表于 2022-5-29 22:09

我心飞翔1995 发表于 2022-5-29 18:14
你就不能用其他编译语言编译吗

接下来,与用户的交互,也是在excel环境下进行的

liqcang 发表于 2022-5-29 22:12

shaokui123 发表于 2022-5-29 20:40
想要起啥作用?

我添加的命令按钮类的控件,因为有设计模式的存在而轻易被用户删除或更改,虽然有工程保护,但如果用户用设计模式“有意”更改了,总觉得我编写的这个小程序有点不严谨的地方。

liqcang 发表于 2022-5-29 22:15

cn2jp 发表于 2022-5-29 18:55
感觉靠excell中的vba禁用菜单不行吧?很容易爆破的。

以前在excel2003环境下,很容易做到的,将大部分的菜单命令屏蔽掉。到了2016后,要做到将“开发工具”完全屏蔽掉,总也没找到合适的代码。而且这个小程序在接下来的操作环境,必须是在2016的真实环境下操作。

iawyxkdn8 发表于 2022-5-29 22:20

微软同意吗?
页: [1] 2 3
查看完整版本: 如何在启动excel时屏蔽“开发工具”或其下的“设计模式“