我試圖在Excel-VBA中創建一個Please Wait
消息。這是爲了提醒用戶處理一個sql查詢,該進程仍在進行中。Excel VBA「Please Wait」彈出消息
我想這個消息顯示在用戶窗體中。
目前,用戶連接到SQL數據庫,選擇數據庫和其他一些選項,按下Go ...並且表單不會卸載。在Go處,我有另一種彈出消息Please Wait
的窗體,但是這種形式不會卸載,即sql execute命令不會運行。
我對調用Please Wait
用戶窗體,包括標籤代碼:
Call WaitShowSQl.ExecuteCall KillWaitCall WaitShow
SQl.Execute
Call KillWait
在另一個代碼模塊,我有:
Sub WaitShow()
Wait.Show
End Sub
Sub KillWait()
Unload Wait
End Sub
我已經窗體稱爲wait
與下面的代碼:
Private Sub UserForm_Activate()
Call PleaseWait
End Sub
Sub PleaseWait()
Wait.Label1.Caption = "Calculating...Please Wait!"
End Sub
現在執行代碼時,運行時執行ES背不動通過模塊以執行以下操作:
SQl.ExecuteSQl.Execute
我可以顯示一個狀態欄程序的進展,但一個窗體彈出消息將是這個計劃非常有用。
謝謝回覆GTG。我已經試過了,得到這個:顯示模態窗體時不能顯示非模態窗體。 – Fwafa 2011-12-23 12:03:57
另外,我忘記提到用戶選擇選項的第一個表單仍然顯示。 – Fwafa 2011-12-23 12:04:49
假設您的第一個表單需要爲模態,那麼您可以將SQL執行代碼放入「等待」用戶窗體內,或從「等待」用戶窗體調用父窗體中的函數。這樣你就不需要任何額外的模塊。第三種選擇是爲「等待」表單創建一個ActiveX .exe文件,並讓該進程顯示一個無模式的「等待」表單。然而,這將需要您與您的Excel工作表一起部署該.exe。 – GTG 2011-12-23 12:58:39