Tôi đang cố tạo thông báo Please Wait
trong Excel-VBA. Điều này là để nhắc nhở người dùng xử lý một truy vấn sql rằng quá trình này vẫn đang tiếp diễn.Excel VBA "Vui lòng chờ" Thông báo bật lên
Tôi muốn thông báo này được hiển thị trong biểu mẫu người dùng.
Hiện tại, người dùng kết nối với sql db, chọn db và một số tùy chọn khác, nhấn Go ... và biểu mẫu không tải. Tại điểm Go tôi có một biểu mẫu khác bật lên với thông báo Please Wait
, nhưng biểu mẫu này không tải xuống, tức là lệnh thực thi sql không chạy.
Mã của tôi cho gọi Please Wait
userform, bao gồm một nhãn:
Call WaitShowSQl.ExecuteCall KillWaitCall WaitShow
SQl.Execute
Call KillWait
Trong một mô-đun mã tôi có:
Sub WaitShow()
Wait.Show
End Sub
Sub KillWait()
Unload Wait
End Sub
Tôi đã userform gọi wait
với đoạn mã sau:
Private Sub UserForm_Activate()
Call PleaseWait
End Sub
Sub PleaseWait()
Wait.Label1.Caption = "Calculating...Please Wait!"
End Sub
Bây giờ khi thực thi mã, thời gian chạy es không di chuyển trở lại thông qua các mô-đun để thực hiện như sau:
SQl.ExecuteSQl.Execute
tôi có thể hiển thị sự tiến bộ của chương trình với một thanh trạng thái, nhưng một userform bật lên thông điệp sẽ rất hữu ích cho chương trình này.
Cảm ơn bạn đã trả lời GTG. Tôi đã thử điều đó và nhận được điều này: Không thể hiển thị biểu mẫu không phương thức khi biểu mẫu phương thức được hiển thị. – Fwafa
Ngoài ra, tôi quên đề cập đến hình thức đầu tiên mà người dùng chọn các tùy chọn vẫn được hiển thị. – Fwafa
Giả sử biểu mẫu đầu tiên của bạn cần phải là phương thức, sau đó bạn có thể đặt mã Thực thi SQL bên trong biểu mẫu người dùng "Đang chờ" hoặc gọi hàm trong biểu mẫu gốc từ biểu mẫu người dùng "Đang chờ". Bằng cách đó bạn không cần thêm bất kỳ mô-đun nào. Một lựa chọn thứ ba sẽ là tạo một ActiveX .exe cho biểu mẫu "Đang chờ" và để cho quá trình đó hiển thị một biểu mẫu "Chờ đợi" vô ích. Tuy nhiên, điều đó sẽ yêu cầu bạn triển khai tệp .exe đó cùng với trang tính Excel của bạn. – GTG