จะสร้าง Timer บน Excel ได้อย่างไร

ถ้าเราไม่มี Timer Control ของ VB6 เราก็ไม่มีคอนโทรลที่จะเอามาทำหน้าที่เป็น Timer ได้ แต่เราสามารถเขียนโค้ดขึ้นมาให้ทำงานเป็น Timer ได้ โดยสามารถตั้ง Interval เป็นชั่วโมง นาที และวินาที ได้ ใครจะตั้งเป็นมิลลิวินาทีทำไม่ได้ครับ

image

ใน Sheet1 ให้วางโค้ดเหล่านี้ลงไป

Const cRunWhat = "The_Timer"

Public Sub StartTimer()
RunWhen = Now + TimeSerial(0, 10, 0)
Application.OnTime _
EarliestTime:=RunWhen, _
Procedure:=cRunWhat, _
Schedule:=True
End Sub

จากโค้ดดังกล่าวเป็นการสร้าง Timer ให้ทำงานทุก 10 นาที ใครจะเปลี่ยนให้เปลี่ยนตรง

TimeSerial(0, 10, 0)

เลขในวงเล็บตัวแรกเป็นชั่วโมง ถัดไปเป็น นาที วินาที ตามลำดับครับ

จากนั้นสร้างโมดูลใหม่ขึ้นมา แล้ววางโค้ดลงไป

image

Public Sub The_Timer()


MsgBox "Hi"


Sheet1.StartTimer
End Sub

โค้ดตัวอย่างดังกล่าวเป็นการPopup คำว่า Hi ทุก 10 นาที

การนำไปใช้คือให้สร้างโค้ดเพื่อเรียกใช้ StartTimer เช่นเมื่อมีการเปิดไฟล์ Excel ดังรูป โดยโค้ดนี้สร้างใน ThisWorkbook

image

พอถึง 10 นาทีก็จะปรากฏPopup

image

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a comment