Giúp sửa code lại đế hạn chế click vào nút bấm khi code đang chạy

Liên hệ QC

hunglam123

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
31/3/20
Bài viết
180
Được thích
43
chào cả nhà GPE !
Em có dùng đoạn code sau đế sau 5 giây làm 1 cái gì đó

Mã:
 Sub Pause(sngSecs As Single)
    Dim sngEnd As Single
    sngEnd = Timer + sngSecs
    While Timer < sngEnd
        DoEvents
    Wend
End Sub

Sub TestPause()
    Pause 5
    MsgBox "Code da chay sau  5 giay"
End Sub

Code chỉ đúng khi mình click vào đúng 1 lần cho Sub Testpause thì sau 5 giây nó chạy code Msgbox. Nhưng mình click nhiều lần vào Sub Testpause thì nó chạy đoạn code Msgbox lặp lại nhiều lần. Em muốn nó chỉ chạy 1 lần cho dù mình có click nhiều lần . Và sau khi chạy xong 5 giây thì mình mới click được tiếp như ban đầu. Và giúp luôn đoạn code để Stop lại. Ví dụ mình cài 50 giây mà mới 10 giây mình muốn stop lại không cho chạy nữa thì phải viết Sub làm sao
Mong các chuyên gia hổ trợ @VetMini @thuyyeu99 @SA_DQ @ndu96081631 @PacificPR @phuocam

XIn chân thành cảm ơn !
 
chào cả nhà GPE !
Em có dùng đoạn code sau đế sau 5 giây làm 1 cái gì đó

Mã:
 Sub Pause(sngSecs As Single)
    Dim sngEnd As Single
    sngEnd = Timer + sngSecs
    While Timer < sngEnd
        DoEvents
    Wend
End Sub

Sub TestPause()
    Pause 5
    MsgBox "Code da chay sau  5 giay"
End Sub

Code chỉ đúng khi mình click vào đúng 1 lần cho Sub Testpause thì sau 5 giây nó chạy code Msgbox. Nhưng mình click nhiều lần vào Sub Testpause thì nó chạy đoạn code Msgbox lặp lại nhiều lần. Em muốn nó chỉ chạy 1 lần cho dù mình có click nhiều lần . Và sau khi chạy xong 5 giây thì mình mới click được tiếp như ban đầu. Và giúp luôn đoạn code để Stop lại. Ví dụ mình cài 50 giây mà mới 10 giây mình muốn stop lại không cho chạy nữa thì phải viết Sub làm sao
Mong các chuyên gia hổ trợ @VetMini @thuyyeu99 @SA_DQ @ndu96081631 @PacificPR @phuocam

XIn chân thành cảm ơn !

Mặt dầu bận trăm công, nghìn việt nhưng thấy bị gọi lên bản đành gác lại công việc lên tám xíu "mong rằng không bị xoá Comment nữa"
theo ý kiến cá nhân của mình:
1/ bạn có thể Disible coman khi chay xong code bạn enable nó lên.
2/ hoặc bạn có thể thêm 1 tham số vào hàm Pause isrun: boland
3/ và một số cách khác v.v.v.
 
Upvote 0
Mặt dầu bận trăm công, nghìn việt nhưng thấy bị gọi lên bản đành gác lại công việc lên tám xíu "mong rằng không bị xoá Comment nữa"
theo ý kiến cá nhân của mình:
1/ bạn có thể Disible coman khi chay xong code bạn enable nó lên.
2/ hoặc bạn có thể thêm 1 tham số vào hàm Pause isrun: boland
3/ và một số cách khác v.v.v.



1593408195142.png

lƯU ý nút bấm của mình là Shape từ hình vẽ bạn nhé

bạn có thể cho mình code ví dụ ý số 2 được không ?
 
Upvote 0
Bạn sử dụng khai báo Static tạo một biến kiểu Boolean như sau:

Nếu viết Hàm UDF thì không nên sử dụng Static, nên đặt biến cục bộ.

-----------------
PHP:
Sub TestPause()
   Static iRun as Boolean: If iRun Then Exit Sub Else iRun = True
    Pause 5
    MsgBox "Code da chay sau  5 giay"
    iRun = False
End Sub
 
Upvote 0
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom