You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OLEObjects文本框能否设置为可见但禁止用户编辑?

解决方案

方法1:禁用文本框控件(最便捷)

直接将该OLE文本框的Enabled属性设为False即可,禁用后的控件无法被选中、也不能接收任何输入,不会影响你用它遮挡按钮的原有逻辑,原有显示隐藏代码无需调整,仅需在显示遮挡层时新增一行赋值代码即可:

' 显示遮挡层时禁用控件,禁止用户输入
ActiveSheet.OLEObjects("HideButtons").Enabled = False
ActiveSheet.OLEObjects("HideButtons").Visible = True

' 密码验证通过后直接隐藏即可,无需额外操作
ActiveSheet.OLEObjects("HideButtons").Visible = False

你也可以直接在开发工具的控件属性面板中,将HideButtons控件的Enabled属性默认设为False,不用每次显示时重复赋值。

注:如果担心禁用控件后出现默认灰色禁用样式,和你设置的工作表背景不匹配,可以改用方法2,不会改变控件的外观效果。

方法2:锁定控件+限制输入长度

如果不需要禁用控件,仅要拦截输入,可以同时设置两个控件属性,既保留原本的外观效果,又完全禁止用户输入:

  • 将文本框的Locked属性设为True,锁定控件内容
  • 将文本框的MaxLength属性设为0,限制最多可输入字符数为0
    对应设置代码如下:
ActiveSheet.OLEObjects("HideButtons").Object.Locked = True
ActiveSheet.OLEObjects("HideButtons").Object.MaxLength = 0

注意事项

由于你当前工作表已设置保护,修改控件属性前需要先撤销工作表保护,修改完成后再重新开启保护,避免出现权限报错。

内容的提问来源于stack exchange,提问作者AndyRoo119

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 04:57:03