ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

สรุป

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 สำหรับโปรแกรมประยุกต์

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

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

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

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

×