จะสร้าง 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

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s