我正在构建一个VBA应用程序,并且与SQL数据库的连接速度很慢。要通知用户我想要在状态栏中显示进度百分比的进度。
到目前为止,我注意到Excel本身会在状态栏中显示读取数据行的数量。见。
我的问题是:如何检索该值以显示我自己的进度条?
显然,我可以将查询设置为后台并监控刷新状态,但是从哪里获取数据:
Set listObj = destinationSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
"OLEDB;Provider=SQLOLEDB.1;" & _
"Network Library=DBMSSOCN;" & _
"Persist Security Info=False;" & _
"User ID=" & sqlUser & _
";Password=" & sqlPassword & _
";Data Source=" & sqlServerName & _
";Initial Catalog=" & sqlDatabaseName), _
Destination:=destinationRange)
With listObj.QueryTable
'Some other code here
.Refresh BackgroundQuery:=True
While .Refreshing
Application.StatusBar = "What now?" 'How to get the Reading Data value
Wend
End With