ข้ามไปที่เนื้อหาหลัก

How to use Timer in VBA (Excel)

การใช้งาน Timer ใน VBA (Visual basic for application)

บทความนี้ก็จะเป็นตัวอย่างการใช้งาน Timer ใน VBA กันนะครับ ซึ่งโดยปรกติแล้ว VBA จะไม่มี Control Timer ให้ใช้กันนะครับ แต่เราสามารถเขียนโค๊ดขึ้นมาเพื่อจำลองเป็น Timer ได้ครับ มาดู กันเลย
ก่อนอื่น Flow การทำงานก็จะเป็นลักษณะดังนี้นะครับ




หลักการก็คือ จะทำการตรวจสอบ Timer ไปเรื่อย ๆ เมื่อครบกำหนดตามเวลาที่เราตั้งไว้ ก็ให้ทำ Event ตามที่เราต้องการ

มาดูตัวอย่าง Code กันเลยครับ

Code
Sub test()
Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("ทดสอบ Timer 5 วินาที", 4)) = vbYes Then
    PauseTime = 5    ' ตั้งค่าระยะเวลา
    Start = Timer    ' ตั้งเวลาเริ่มต้น
    Do While Timer < Start + PauseTime
        DoEvents    ' ให้ Process อื่นทำงานไปตามปรกติ
    Loop
    Finish = Timer  
    TotalTime = Finish - Start    ' คำนวนเวลาทั้งหมด
    MsgBox "เวลาผ่านไป " & TotalTime & " วินาทีแล้ว"
    'ตรงนี้สามารถใส่ สิ่งที่ต้องการให้โปรแกรมทำงานเมื่อครบกำหนดเวลาได้เลย
Else
    End
End If

End Sub

Private Sub CommandButton1_Click()   เหตุการณ์กดปุ่ม
Call test  เรียก method test ขึ้นมาทำงาน
End Sub



       จะเห็นได้ว่าการทำแบบนี้จะไม่เหมือนกัน Control timer เลยซะทีเดียวนะครับ โดยมันจะไม่มี Event เกิดขึ้นโดยตัวของมันเอง โดยเราต้องมีการตรวจสอบจาก Timer เอาเอง
แต่ก็ยังพอประยุกต์ใช้แก้ขัดได้อยู่นะครับ 

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

เทคนิคการสร้าง Folder ลับ (การซ่อน Folder) 2

เทคนิคการสร้าง Folder ลับ (การซ่อน Folder) 2 วันนี้ก็จะเอาเทคนิคการซ่อน Folder มาฝากกันเพิ่มเติมนะครับ จะต่างจากในบทความแรก https://lazedev.blogspot.com/2016/03/folder-folder.html ซึ่งเป็นการเก็บแบบ System file ธรรมดา โดยคราวนี้จะเพิ่มความสามารถให้ Folder ที่เราซ่อนไว้ให้เข้ายากขึ้นไปอีกนิด (ซ่อนได้เนียนขึ้น) นะครับ มาดูขั้นตอนกันเลย

Make BIG checkbox in Excel

ทำ Checkbox ขนาดใหญ่ใน Excel ในบางครั้งเมื่อเราต้องการทำฟอร์มเอกสารให้คนอื่นกรอก ก็มักจะมีตัว Checkbox เพื่อให้คลิ๊กเลือกในรายการที่เรากำหนดไว้ โดยจะเพิ่มจากตัว ActiveX control ที่มีอยู่แล้วใน Excel แต่ปัญหาคือเจ้าตัว checkbox นี้มันปรับขนาดไม่ได้ พอเราปรับขนาดหน้าจอเล็กลง เจ้าตัว checkbox นี่ก็จะเล็กลงตาม ทำให้ความไฮโซของแบบฟอร์มลดลงไป

เอา Password Excel VBA ออก

พอดีว่ากำลังทำโปรเจ็คฐานข้อมูลเกี่ยวกับ Excel VBA แต่ทำ ๆ ไปดันลืม พาสเวิดที่ตัวเองใส่ไว้ซะงั้น เลยต้องลำบากลำบนไปค้นหาวิธีการเอาพาสเวิดนั้นออก ดูไปแล้วก็พอมีวิธีอยู่ ก็เลยทำเป็นบทความเก็บไว้ดีกว่า มาดูกันเลย **เป็นการเอารหัสของ VBA ใน Excel ออกนะครับ ไม่ใช่รหัสของ Excel