Page 1 of 1

สอบถามการ stop application ของ ontime ครับ

Posted: Wed Sep 13, 2023 5:45 am
by CiprofloxaciN
background :
ผมสร้างชุดคำสั่ง ให้โปรแกรมอัพเดทเวลา อัตโนมัติ ทุกๆ 1 นาที โดยนำเวลาที่อัพเดทไปใช้ควบคู่กับระบบ PI system

แต่ปัญหาติดตรงที่ พอผมกด button(time_enable) เพื่อรันโปรแกรม โปรแกรม run ได้ปกติ, แต่พอกด button(time_disable) เพื่อหยุด ตัวโปรแกรมกลับไม่หยุดครับ

code :

Sub time_enable() 'assign button
timer1 = Now Application.OnTime timer1, "time_filling"
MsgBox ("Program Start")
End Sub

Sub time_filling() Worksheets("data").Range("B2").Value = Now StartTimeRecur
End Sub

Sub StartTimeRecur()
timer2 = Now + TimeValue("00:00:59") Application.OnTime timer2, "time_filling", , True End Sub

Sub time_disable() 'assign button
Application.OnTime timer2, "time_filling", , False MsgBox ("Program Stop")
End Sub

Re: สอบถามการ stop application ของ ontime ครับ

Posted: Wed Sep 13, 2023 6:37 am
by snasui
:D กำหนด Start ด้วย ตัวแปรไหนก็ให้หยุดด้วยด้วยแปรนั้นครับ

สังเกตว่า Start ด้วย timer1 แต่ไป Stop time2 ที่ถูกคือต้อง Stop timer1

การ Stop มีโอกาสที่จะเกิด Error สามารถแทรก on error resume next เข้าไปก่อนที่จะ stop เพื่อลดการเกิดปัญหาได้

สำหรับการ Post ข้อความ Code กรุณาอ่านกฎข้อ 5 ด้านบนประกอบ :roll: เพื่อให้แสดงแตกต่างกันระหว่างข้อความปกติกับข้อความ Code

นอกจากนี้ควรแนบไฟล์ตัวอย่างประกอบเสมอ เพื่อสะดวกในการตอบของเพื่อนสมาชิกครับ

Re: สอบถามการ stop application ของ ontime ครับ

Posted: Wed Sep 13, 2023 9:01 pm
by CiprofloxaciN
สอบถามเพิ่มเติมครับ ผมลองทำตามคำแนะนำข้างบนแล้ว แต่เวลาก็ยังรันอยู่เรื่อยๆ ไม่หยุดครับ

ผมจึงลองตัดในส่วนอื่นออกไป แค่อยากลองเทส code ว่า ถ้าเรากดปุ่ม start แล้วให้เวลาอัพเดททุกๆ 1 นาที แล้วกด stop ตัวโปรแกรมจะหยุดไหม

สุดท้ายเวลาอัพเดททุกๆ 1 นาที จริง, แต่ขากด stop โปรแกรมกลับ run ต่อครับ นึกไม่ออกจริงๆ ว่าต้องทำยังไง เพราะตอนกด stop ตัว code ก็ไม่ error นะครับ แต่โปรแกรมไม่หยุด

นี่คือโค้ดใหม่ครับ ; ใน workbook มี 2 worksheet ครับ

sub start_time()

worksheet("Sheet1").range("A1").value = now

time1 = now + timevalue("00:00:59")
application.ontime time1,"start_time", ,true

end sub

sub stop_time()

application.ontime time1,"start_time", ,false

end sub


**มีวิธีการเขียนแบบไหนอีกมั๊ยครับที่ กด stop แล้วให้โปรแกรมหยุดรัน, ตอนนี้ติดตรงขา stop อย่างเดียวเลยครับ ขอบคุณครับ

Re: สอบถามการ stop application ของ ontime ครับ

Posted: Thu Sep 14, 2023 2:39 am
by snasui
:D ดูเหมือนจะยังไม่เข้าใจวิธีการ Post ข้อความ Code ดูวิธีการที่นี่ซึ่งเป็น Link ในกฎการใช้บอร์ดข้อ 5 ตามที่แจ้งไป :arrow: http://snasui.com/viewtopic.php?f=6&t=1187

กรุณาแนบไฟล์ตัวอย่างที่มีเฉพาะ Code สำหรับการจับเวลาและการหยุดการจับเวลาที่ยังเป็นปัญหา จะได้สะดวกในการตอบครับ

Re: สอบถามการ stop application ของ ontime ครับ

Posted: Thu Sep 14, 2023 10:16 am
by CiprofloxaciN
อัพเดทครับ ตอนนี้สามารถ run code start/ stop ได้แล้วครับ ขอบคุณคำแนะนำมากครับ :D