如何防止在 VBA 中触发 ActiveX 事件?

2023-11-23

我正在寻找一种更好的方法来禁用 ActiveX 事件在 Excel 工作簿中触发(尽管这适用于所有具有 ActiveX 对象的 Office 应用程序)。

希望类似的东西Application.EnableEvents = false,尽管这不适用于 ActiveX。

在下面的示例中,使用全局布尔值很简单,但我的 ActiveX 对象有很多事件处理程序,对于我可以普遍应用的暂时禁用 ActiveX 事件的东西来说,这将非常容易。我真的不想为这些方法中的每一个添加 if/exit 子语句。

为了演示此问题,请在工作表中创建一个 ActiveX 组合框并将以下内容添加到该工作表模块中

Public initializingContent As Boolean 
Private Sub intializeAllActiveXContent()

    'this doesn't apply to activeX events :'(
    Application.EnableEvents = False

    'this could work but is not really elegant
    'change this to false to show my problem in 
    'the intermediate window (called not once but twice)
    initializingContent = True

    ComboBoxTest.Clear

    ComboBoxTest.AddItem ("item1")
    ComboBoxTest.AddItem ("item2")
    ComboBoxTest.AddItem ("item3")

    'select the top value in the box
    ComboBoxTest.value = "item1"

    initializingContent = False

    Application.EnableEvents = True

     End Sub

Private Sub ComboBoxTest_Change()
    'I really don't want to have to wrap EVERY single ActiveX method
    'with something like this for a whole variety of reasons...
    If initializingContent Then Exit Sub

    Debug.Print "do stuff I don't want to happen when intializeAllActiveXContent() runs " & _
        "but I do when user changes box"
         End Sub

我知道这真的很老了。但任何查找此内容的人(第一次在谷歌上点击)可能想要一个简单的答案:

假设您有一个 Private Sub ActiveXControl_Change() 在 Application.EnableEvents = False 期间被调用,并且您希望它跳过此操作:

Private Sub ActiveXControl_Change()
If Application.EnableEvents = True Then
'enter you code here

End If
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止在 VBA 中触发 ActiveX 事件? 的相关文章

  • HTML/VBA Click 事件未触发

    这是我第一次在 StackOverflow 上发布问题 到目前为止 我已经能够通过 VBA 帮助论坛解决我的大部分问题 我的问题很简单 我有一个自动数据拉取 我需要在其中导出数据 我过去曾在这方面取得过成功 但这次略有不同 我尝试单击以生成
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 如何修复日期过滤器 VBA,因为它没有拾取我范围内的所有日期

    我正在尝试创建一个过滤器来过滤掉我选择的日期内的所有日期 我选择的日期将始终反映整个月 例如 如果我需要 2019 年 5 月的数据 我将输入开始日期为 01 05 2019 结束日期为 31 05 2019 我的数据过滤器将需要选取经过我
  • 在用户窗体终止/关闭 VBA 时调用数组

    我有一个问题 我想在用户窗体关闭时将用户窗体的内容存储在数组中 我认为我的语法正确 但似乎不会在用户窗体初始化时重新填充 我尝试将数组放入其自己的模块中 但这也不起作用 有人愿意启发我吗 示例代码 Public Sub DPArrayStu
  • 如何检查python xlrd库中的excel文件是否有效

    有什么办法与xlrd库来检查您使用的文件是否是有效的 Excel 文件 我知道还有其他库可以检查文件头 我可以使用文件扩展名检查 但为了多平台性我想知道是否有任何我可以使用的功能xlrd库本身在尝试打开文件时可能会返回类似 false 的内
  • 如何在apache POI中读取excel文件的准确单元格内容

    当我读取单元格的内容时 例如如果它是日期格式 它会转换为另一个值 例如 12 31 2099 gt 46052 和 50 00 gt 50 和 50 00 gt 0 5 但我想要的是获取每个单元格的确切字符串值 我的代码是这样的 cell
  • Excel 公式从单元格中获取字符串值并按字母顺序对其字符进行排序

    你能帮我制作一个 Excel 公式 从单元格中获取字符串值并按字母顺序对其字符进行排序吗 Ex 原始单元格值 BACR 已排序的字符单元格 ABCR 编辑 2022 年 4 月 29 日 随着 Office 365 Excel 中引入的动态
  • 循环浏览文件夹中的工作簿

    我正在尝试从文件夹中的所有工作簿复制某些单元格 下面的代码仅循环遍历第一个文件 VBA 新手 欢迎任何帮助 提前致谢 Sub Get Data Dim Directory As String Dim Filename As String D
  • 将 CURL 命令行转换为 VBA

    在 CURL 中 我可以使用这一行 curl data DataToBeSent https example com resource cgi 我正在努力将此类行转换为在 VBA 中使用 这是我到目前为止的尝试 Sub POST Metho
  • 如何使用 ssis 2008 循环遍历 Excel 文件并获取工作表名称

    我正在尝试将 Excel 文件中的数据加载到 SQL 数据库表中 该文件的工作表名称不是静态的 工作表名称包含 yyyymmdd 它会随每个文件而变化 我按照提供的解决方案进行操作如何使用 SSIS 包循环遍历 Excel 文件并将其加载到
  • 如何将Excel中的每个条目转换为一行“矩阵”表

    我有类似的东西 1 2 3 a x o x b x x o c o o o 并想将其转换成像这样的线 1 a x 1 b x 1 c x 2 a o 2 b x 2 c o 3 a x 3 b o 3 c o 通过使用Excel文档中的公式
  • 将 Excel 数字日期重新格式化为 R 日期

    希望将从 Excel 中提取的列重新格式化为包含数字 Excel 格式 例如 40182 的数据框 as date 40182 origin 1899 12 30 format b Y Returns 1 2070 年 1 月 5 日 我正
  • 按字母顺序对组合框值进行排序

    我的 Excel 用户表单中有一个组合框 按字母顺序排序的最简单方法是什么 它的值是在 vba 中硬编码的 新的值只是添加到底部 因此它们不按任何顺序排列 当前正在使用用户表单 以便我们的用户可以将数据从我们的数据库导入到 Excel 中
  • 如何将工作表和范围作为变量传递?

    我想在子例程之间传递工作表的名称和范围 以下抛出 下标超出范围 错误 Sub This x Sheet1 y D3 MsgBox x Range y Value End Sub This is 我的项目资源管理器的示例 https i st
  • VBA FreeLibrary 不卸载 DLL

    当我使用完一个 DLL 文件后 我需要删除它 代码完成后清理 我尝试在 Excel VBA 中使用 LoadLibrary 和 FreeLibrary 但无论我做什么 Excel exe 都会坚持 DLL 文件 Public Declare
  • 自动电子邮件生成无法解析多个收件人

    我有一个 VBA 脚本 可以创建并保存草稿电子邮件 为了添加收件人 它从链接的 Excel 表中提取一个字符串并将其添加到 Recipients 对象中 对于只有单一收件人的电子邮件 这就像一个魅力 用户所需要做的就是打开草稿 花 5 秒钟
  • VBA在下一个空白行正确输入用户表单数据

    创建了一个用户表单 添加了一个文本框和一个组合框 添加了提交按钮 单击 提交 后 会将数据添加到电子表格中 据我所知和我所读到的 这是错误的 ActiveCell Value TextBox3 Text ActiveCell Offset
  • VBA - 如何从网站下载.xls并将数据放入Excel文件

    我设法使用 VBA 达到准备从网络下载 Excel 文件的程度 但我无法弄清楚如何实际下载该文件并将其内容放入我正在使用的 Excel 文件中 有什么建议么 谢谢 这是到目前为止的代码 Sub GetData Dim IE As Inter
  • 根据用户名获取广告详细信息

    我有一个代码可以从 AD 检索用户的详细信息 例如电子邮件地址 电话号码等 我当前使用的代码是 Set objSysInfo CreateObject ADSystemInfo strUser objSysInfo UserName msg
  • 在 BIRT 中导出的 Excel 中表格单元格的文本换行

    我在 eclipse 中使用 BIRT 4 4 1 来生成报告 我想包装表头的文本 它在网络查看器中工作正常 但是当我导出到 Excel 时 表单元格文本在一行中 并且文本也溢出 我不想使单元格宽度等于内容 我想根据其容器宽度来换行文本 我

随机推荐

  • 在 matplotlib 中将 x 和 y 数据作为关键字参数传递?

    或者 为什么不 import numpy import matplotlib pyplot as plt plt plot xdata numpy array 1 ydata numpy array 1 color red marker o
  • 在 Android 中创建短信应用程序?

    我正在创建一个短信应用程序来发送和接收短信 我可以使用以下代码发送短信 SmsManager sms SmsManager getDefault sms sendTextMessage phoneNumber null message pi
  • 如何从范围中获取随机数,排除某些值

    在 C 中 如何从一系列值 例如 1 100 中获取随机数 但该数字不应该位于某些特定值列表中 例如 5 7 17 23 由于没有人发布任何示例代码 private int GiveMeANumber var exclude new Has
  • 关系数据库中的空值可以吗? [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 有一种观点认为关系数据库中不应允许空值 也就是说 表的属性 列 不应允许空值 来自软件开发背景的我真的不明白这一点 似乎如果 null 在属性的上下文中有效 那么就应该允许它 这在 J
  • Python PEP479 更改生成器内部的 StopIteration 处理

    有人可以帮助我了解 PEP479 的含义吗 我正在阅读文档 但无法理解它 摘要说 此 PEP 提议对生成器进行更改 当在生成器内引发 StopIteration 时 它会被替换为 RuntimeError 更准确地说 当异常即将从生成器的堆
  • 嵌入式应用程序中的内存管理资源

    我应该如何管理任务关键型嵌入式应用程序中的内存 我通过谷歌找到了一些文章 但无法找到真正有用的实用指南 The DO 178b禁止动态内存分配 但是如何管理内存呢 提前预分配所有内容并向每个需要分配的函数发送一个指针 分配到栈上 使用全局静
  • XAMPP MySQL 说:无法连接:无效设置

    MySQL 工作正常 然后无缘无故地每当我打开时就会出现此错误http localhost phpmyadmin 我在这里花了几个小时试图找到解决方案 但我尝试过的所有方法都不起作用 有人可以帮帮我吗 我正在使用 XAMPP版本 7 3 6
  • 使用 Yahoo YQL 查询 html

    在尝试使用雅虎查询语言和 YQL 提供的 xpath 功能解析 html 时 我遇到了无法提取 text 或属性值的问题 例如 永久链接 select from html where url http stackoverflow com a
  • 如何在 MongoDB 中使用 Map/Reduce?

    我无法理解 Map Reduce 在 MongoDB 中的工作原理 我有一个包含字段的集合 areacode state county zip city lat lon列出了美国的每个邮政编码以及相应的县 州等 我希望能够查询给定州的所有县
  • 在 iOS 上创建发光文本效果

    我们目前正在构建一个 iPhone 应用程序 希望文本具有发光效果 以适应现实的 UI 设计 这就是我们想要实现的目标 目前我们正在努力创造内部发光效果 因此我们将不胜感激 在 Photoshop 中这段文字有 颜色 98c1c1 外发光
  • Tomcat Java Servlet - 在应用程序启动时初始化类

    我有一个类需要一些时间来启动 进行一些 JNI 调用以及其他调用 因此每次加载页面时初始化此类是不可行的 是否可以在应用程序启动时初始化此类 然后在提供页面时访问其方法 例如 我有我的班级 当应用程序 tomcat 启动时 我希望它初始化
  • 退出 HttpClient 会话

    如何退出 HttpClient 会话 我使用以下代码使用 Apache HttpClient 登录到应用程序 public HttpClient loginToHexgen String username String password H
  • UML 类图:如何对调用方法或启动活动或服务的关系进行建模

    我正在创建我的第一个 Android 应用程序 我避免标记与用户或系统交互的关联 例如 我标记了starts反而单击时开始 我已经标记了starts反而检测开始时 然而读完之后this 我正在考虑改变starts协会由 gt 依赖关系 我很
  • CSS 居中内容的适当方法

    我更喜欢使用基于 CSS 的设计 但作为后端编码人员 我的 CSS 技能有点弱 当我涉及布局时 我倾向于依靠基于表格的格式 因为我的思想已经被多年来基于表格的滥用所扭曲 有一个特别的问题我总是被绊倒 最好的 CSS 替代品是什么 table
  • 保护 Rails 登台环境的密码

    我正在尝试找出保护我的暂存环境的最佳方法是什么 目前我在同一台服务器上运行登台和生产 我能想到的两个选择是 使用 Rails 摘要身份验证 我可以把这样的东西放在 application controller rb 中 Password p
  • 使用 Opencv 模糊矩形中的内容

    在下面的矩形函数中 绘制矩形 Draw the predicted bounding box void drawPred int classId float conf int left int top int right int botto
  • 删除void指针是否保证删除正确的大小? [复制]

    这个问题在这里已经有答案了 可能的重复 删除空指针安全吗 说我有一个new分配给一个名为MyClass分配很简单 MyClass myClassPtr new MyClass 我存储了对列表的引用void 我简单地说 myListOfPoi
  • Pandas Dataframe 添加标头而不替换当前标头

    如何向 DF 添加标头而不替换当前标头 换句话说 我只想将当前标题向下移动并将其作为另一条记录添加到数据帧中 第二个问题 如何将表 示例数据框 添加到 stackoverflow 问题中 我有这个 注意标题以及如何将其添加为一行 0 213
  • 无法加载“RealmSwift”的底层模块

    我正在尝试通过 Cocoapods 安装 Realm for Swift 首先我做的是pod init进入我的项目然后我打开 podfile 并将其更改如下 target Taskio do use frameworks pod Realm
  • 如何防止在 VBA 中触发 ActiveX 事件?

    我正在寻找一种更好的方法来禁用 ActiveX 事件在 Excel 工作簿中触发 尽管这适用于所有具有 ActiveX 对象的 Office 应用程序 希望类似的东西Application EnableEvents false 尽管这不适用