ฟังก์ชัน DoEvents

หมายเหตุ: เราต้องการมอบเนื้อหาวิธีใช้ปัจจุบันในภาษาของคุณให้กับคุณโดยเร็วที่สุดเท่าที่เราจะทำได้ หน้านี้ได้รับการแปลด้วยระบบอัตโนมัติ และอาจมีข้อผิดพลาดทางไวยากรณ์หรือความไม่ถูกต้อง จุดประสงค์ของเราคือเพื่อให้เนื้อหานี้มีประโยชน์กับคุณ คุณแจ้งให้เราทราบว่าข้อมูลดังกล่าวมีประโยชน์ต่อคุณที่ด้านล่างของหน้านี้ได้หรือไม่ นี่คือบทความภาษาอังกฤษเพื่อให้ง่ายต่อการอ้างอิง

หมายเหตุ: ฟังก์ชัน วิธี วัตถุ หรือคุณสมบัติตามที่อธิบายในหัวข้อนี้ถูกปิดใช้งานถ้าบริการ Microsoft Jet นิพจน์กำลังทำงานในโหมด sandbox ซึ่งทำให้การประเมินนิพจน์ที่อาจไม่ปลอดภัย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโหมด sandbox ค้นหา "โหมด sandbox" ในวิธีใช้

พักการดำเนินการเพื่อให้ระบบปฏิบัติการสามารถประมวลผลเหตุการณ์อื่น ๆ

ไวยากรณ์

DoEvents ( )

ข้อสังเกต

ฟังก์ชันDoEventsจะส่งกลับจำนวนเต็มที่แสดงถึงจำนวนของฟอร์มที่เปิดอยู่ในเวอร์ชันสแตนด์อโลนของ Microsoft Visual Basic เช่น Visual Basic, Professional Edition DoEventsส่งกลับเลขศูนย์ในโปรแกรมประยุกต์อื่น ๆ ทั้งหมด

DoEventsส่งผ่านตัวควบคุมกับระบบปฏิบัติการ ตัวควบคุมนั้นจะส่งกลับหลังจากระบบปฏิบัติเสร็จสิ้นการประมวลผลเหตุการณ์ในหมดคิว และแป้นพิมพ์ลัดทั้งหมดในคิวSendKeysได้ถูกส่ง

DoEventsเป็นประโยชน์มากที่สุดสำหรับสิ่งต่าง ๆ อย่างง่ายเช่นการอนุญาตให้ผู้ใช้เพื่อยกเลิกกระบวนการหลังจากที่นั่นได้เริ่ม ตัวอย่างเช่นการค้นหาไฟล์ สำหรับกระบวนการเรียกใช้เวลานาน ส่งไปยังตัวประมวลผลได้ดียิ่งขึ้นได้โดยการใช้ตัวจับเวลา หรือมอบหมายงานให้กับคอมโพเนนต์ ActiveX EXE ในกรณีหลัง งานสามารถดำเนินต่อทั้งหมดขึ้นอยู่กับแอปพลิเคชันของคุณ และดูแลระบบปฏิบัติการทำงานหลายอย่างเวลาแบ่ง

ใดก็ตามคุณ yield การประมวลผลภายในกระบวนงานเหตุการณ์ ชั่วคราวให้แน่ใจว่ากระบวนงาน จะไม่ได้ดำเนินการอีกครั้งจากส่วนอื่นของโค้ดของคุณก่อนที่สายแรกส่งกลับ ซึ่งอาจทำให้ผลลัพธ์ที่คาดไม่ถึง นอกจากนี้ ใช้DoEventsถ้าแอปพลิเคชันอื่น ๆ อาจอาจทำงานกับกระบวนงานของคุณในวิธีเมตริกซ์ในช่วงเวลาคุณมีเป็นตัวควบคุม

ตัวอย่าง

หมายเหตุ: ตัวอย่างที่ติดตามสาธิตการใช้ฟังก์ชันนี้ใน Visual Basic for Applications (VBA) มอดูล สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ VBA เลือกอ้างอิงสำหรับนักพัฒนา ในรายการดรอปดาวน์ถัดจากค้นหา และใส่เงื่อนไขอย่าง น้อยหนึ่งในกล่องค้นหา

ตัวอย่างนี้ใช้ฟังก์ชันDoEventsเพื่อทำให้เกิดการดำเนินการเพื่อ yield หนึ่งครั้งซ้ำทุก 1000 วนรอบของระบบปฏิบัติการ DoEventsส่งกลับจำนวน ของ Visual Basic เปิดฟอร์ม แต่ก็ต่อเมื่อแอปพลิเคชันโฮสต์ Visual Basic

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.
ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×