excel - 运行宏时更改 ActiveX 控件颜色
问题描述
我有一个ActiveX
CommandButton
调用startButton
,当我单击它时,将运行一个可能需要一段时间才能完成的长宏。所以在运行这个宏时,我想改变&H80FF&
这个按钮的颜色(),一旦完成,颜色必须变回原来的颜色(&H8000000F
)。所以我写了下面的代码。
Private Sub startButton_Click()
startButton.BackColor = &H80FF&
Call initialize_procedures
startButton.BackColor = &H8000000F
End Sub
但不知何故,它并没有改变颜色,只有当宏完成一个完成消息框时,它才会改变颜色。似乎在运行宏时,工作表显示没有更新。我试图对按钮进行一些重绘。但是按钮没有.Repaint。有人能帮助我吗?
编辑 1
根据建议,我添加DoEvents
如下。但它仍然无法正常工作
Private Sub startButton_Click()
Application.ScreenUpdating = True
startButton.BackColor = &H80FF&
DoEvents
Call initialize_procedures
startButton.BackColor = &H8000000F
End Sub
解决方案
推荐阅读
- javascript - 在 highcharts 中,是否可以在柱形图中制作一个条形图,其顶部与图表边界“顶部”的图表区域边缘接壤?
- python - 如何导入pybind11生成的二进制模块?
- docker - Docker 容器启动失败,如果它有 Docker 机密
- javascript - 没有找到 P5 DOM 函数“选择”,即使我已经导入了 p5.dom.js
- angular - 'E/launcher - 错误:尝试从 Jenkins(Unix 机器)运行量角器测试时产生 EACCES 错误
- c# - c# Harmony 示例未按预期打印注入日志
- android - 将新通知添加到组时,Android会删除组通知中的通知数据
- batch-file - java.io.IOException: 批处理脚本只能在 Windows 节点上运行 ::: 使用 jenkins - MacOSX
- swift - 我不确定我的 UICollectionView 做错了什么
- wpf - Wpf DataGrid ToolTip for column headers