0

我正在尝试更新 Excel 电子表格上 ActiveX 控件按钮的标题,以注意与单击事件关联的代码正在运行。该代码从 azure 数据库中提取数据,因此按下按钮会在 5-10 秒延迟的任何地方触发。

我的原始代码有一个基本上看起来像这样的子代码:

Sub GetInfofromDB()
  btnUpdate.Caption = "Updating...."
  <<code to get data from azure db>>
  btnUpdate.Caption = "Update List" 'reverts button to standard text
End Sub

但是按钮标题永远不会改变。组合框更新有效。

我将标题更新分成自己的子项,然后在按下按钮时按顺序调用每个子项并获得相同的行为,没有按钮更新。

如果我用标题更新调用 sub 而没有调用数据更新,则按钮更新成功。

因此,每个部分都是独立工作的,但不是在它们连续发生时。想法如何让我的按钮在数据调用之前更新?

谢谢。标记

4

1 回答 1

0

更改标题后尝试添加 aaplication.screenupdating = true 。

下面的代码对我有用。使用 DoEvents

Private Sub CommandButton1_Click()
CommandButton1.Caption = "true"
DoEvents
Application.ScreenUpdating = True

For i = 1 To 2
    Application.Wait (Now + TimeValue("0:00:1"))
Next i

CommandButton1.Caption = "False"
End Sub
于 2012-10-05T04:46:37.970 回答