我有一个单词VBA UserForm,我用它作为排行榜来跟踪SQL查询更新结果。每10分钟发布一次,有没有办法自动刷新表单?我试过这个:VBA用户窗体刷新
Private Sub UserForm_Initialize()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim AgingSQL As String
cnn.ConnectionString = "DATABASE INFO"
cnn.Open
AgingSQL = "SQL QUERY"
rst.Open AgingSQL, cnn
rst.MoveFirst
With UserForm1.AgingLeaderboard -- List Box I am using to display info
.Clear
Do
.AddItem
.List(i, 0) = rst![StatusBy]
.List(i, 1) = rst![Count]
i = i + 1
rst.MoveNext
Loop Until rst.EOF
End With
rst.Close
**Call Refresh**
End Sub
Sub Refresh()
Application.OnTime Now + TimeValue("00:00:10"), "UserForm_Initialize"
End Sub
但是,这似乎并没有做任何事情。任何帮助表示赞赏!
我会把你的SQL在一个函数,并有一个等待十分钟,然后调用该函数的循环。之后设置循环计数器长度。或者你可以在任务管理器中设置一个任务,每10分钟调用一次子程序 –