【问题标题】:Updating caption on ActiveX button in Excel vba在 Excel vba 中更新 ActiveX 按钮上的标题
【发布时间】:2012-10-05 02:32:13
【问题描述】:

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

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

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

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

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

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

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

谢谢。标记

【问题讨论】:

    标签: sql excel button activex caption


    【解决方案1】:

    尝试更改标题后添加 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
    

    【讨论】:

    • 完美!那行得通。这是我第一次接触 DoEvents,今天学到了一些新东西。
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多