สรุป
Word ไม่มีวิธีการอยู่แล้วภายในจะหน่วงเวลาการดำเนินการของแมโคร แต่สามารถใช้แก้ไขปัญหาเพื่อให้ได้ลักษณะพิเศษนี้
ข้อมูลเพิ่มเติม
Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทำงานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้ฟังก์ชันการทำงานเพิ่มเติมหรือสร้างกระบวนงานเพื่อตอบสนองความต้องการเฉพาะของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ตัวอย่างรหัสในบทความนี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:212536 OFF2000: วิธีการเรียกใช้โค้ดตัวอย่างจากบทความฐานข้อมูลองค์ความรู้ คุณสามารถใช้หนึ่งในวิธีต่อไปนี้เพื่อให้เกิดความล่าช้าของการดำเนินการของแมโคร โดยการใช้ Visual Basic สำหรับโปรแกรมประยุกต์
วิธีที่ 1: ใช้ว่างสำหรับ... วนรอบถัดไป
ข้อเสียที่ให้วิธีการนี้คือ ว่า ไม่มีวิธีโดยตรงเพื่อกำหนดระยะเวลาที่โปรแกรมใช้ในการผลิตแบบวนรอบที่แน่นอน ระยะเวลาขึ้นอยู่กับความเร็วของคอมพิวเตอร์ของคุณ รหัสต่อไปนี้ทำงานแบบวนซ้ำที่ไม่ทำสิ่งใด ๆ แต่ใช้เวลาพอสมควร
Sub MyDelayMacro
For iCount = 1 to 1000 Next iCount End Sub
วิธีที่ 2: การเรียกใช้ API ที่ใช้เมื่อต้องการหยุดการทำงาน Word
ใช้การเรียก API เพื่อระงับการดำเนินการของ Word สำหรับยอดเงินคงที่ของเวลา
Kernel32 ประกอบด้วยฟังก์ชันที่หยุดชั่วคราวดำเนินการของโปรแกรมที่ระบุระยะเวลา ในหน่วยมิลลิวินาที คุณสามารถใช้ฟังก์ชัน นั้นต้องก่อนถูกประกาศในส่วนประกาศค่าทั่วไปของโมดูลซึ่งจะใช้: Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
(ByVal dwMilliseconds As Long)
ใช้ไวยากรณ์ต่อไปนี้เพื่อเรียกใช้ฟังก์ชันโหมดสลีป:
Sub Sleep()
Sleep 1000 'Implements a 1 second delay End Sub
วิธีที่ 3: ใช้เมธอด OnTime
ใช้เมธอดOnTimeเพื่อตั้งค่าจำนวนเวลาที่จะหยุดชั่วคราว OnTimeวิธีการใช้ไวยากรณ์ต่อไปนี้:
นิพจน์ OnTime (เมื่อ ชื่อ ค่าเผื่อ)เนื่องจากชื่ออาร์กิวเมนต์จำเป็นต้องมีชื่อของแมโครเพื่อเรียกใช้ คุณต้องสร้างแมโครที่สอง: แมโครแรกเพื่อให้ประกอบด้วยการเรียกวิธีOnTimeและคำสั่งอื่น ๆ ที่เกี่ยวข้องกับแมโครของคุณ และแมโครที่สองให้เรียกใช้ในช่วงเวลาที่ผ่านไปแล้ว แมโครที่สองแมโคร "ดัม" ที่ไม่ทำสิ่งใด ๆ ก็ได้
ตัวอย่างนี้เรียกใช้แมโครที่มีชื่อว่า "MyDelayMacro" 15 วินาทีจากเวลามีการเรียกใช้ตัวอย่างSub MyMainMacro()
' Pause for 15 seconds. Application.OnTime When:=Now + TimeValue("00:00:15"), _ Name:="MyDelayMacro" End Sub Public Sub MyDelayMacro() ' Place your delayed macro commands here. MsgBox "This macro runs after 15 seconds." End Sub
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้วิธี OnTime ใน Visual Basic Editor คลิกวิธีใช้ Microsoft Visual Basicบนเมนูวิธีใช้พิมพ์OnTime วิธีในผู้ช่วย Office หรือ Answer Wizard และคลิกค้นหาเพื่อดู หัวข้อนี้
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับความช่วยเหลือเกี่ยวกับ Visual Basic สำหรับโปรแกรมประยุกต์ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
212623 WD2000: ทรัพยากรการเขียนโปรแกรมแมโคร
226118 OFF2000: เขียนโปรแกรมทรัพยากรสำหรับ Visual Basic สำหรับโปรแกรมประยุกต์