สำหรับ Microsoft Word 97 รุ่นของบทความนี้ ดู
187985
สรุป
บทความนี้ประกอบด้วยสี่ Microsoft Visual Basic สำหรับแมโครที่โปรแกรมประยุกต์ที่คุณสามารถใช้เพื่อเลียนแบบ Microsoft Word 6.0 สำหรับฟังก์ชันการทำงานของแป้น ENTER สำหรับการย้ายไปมาระหว่างเขตข้อมูลฟอร์มในเอกสารที่ได้รับการป้องกัน
ข้อมูลเพิ่มเติม
Microsoft แสดงตัวอย่างการเขียนโปรแกรมสำหรับประกอบการอธิบายเท่านั้น โดยไม่มีการรับประกันทั้งโดยชัดแจ้ง หรือโดย นัย รวมถึง แต่ไม่จำกัดเฉพาะการ การรับประกันโดยนัยในความสามารถเชิงพาณิชย์และ/หรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ บทความนี้อนุมานว่า คุณคุ้นเคยกับภาษาการเขียนโปรแกรมที่แสดงรวมทั้งเครื่องมือต่าง ๆ ที่ใช้ในการสร้าง และแก้จุดบกพร่องกระบวนงาน ผู้เชี่ยวชาญฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทำงานของกระบวนการเฉพาะ แต่จะไม่แก้ไขตัวอย่างเหล่านี้เพื่อเพิ่มฟังก์ชัน หรือสร้างขั้นตอนเพื่อตอบสนองความต้องการเฉพาะของคุณ
ถ้าคุณได้รับการจำกัดประสบการณ์ในการเขียนโปรแกรม คุณอาจต้องการติดต่อกับ Microsoft Certified Partner หรือคำแนะนำบริการของ Microsoft สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ของ Microsoft เหล่านี้:
Microsoft Certified คู่ - https://partner.microsoft.com/global/30000104
อ่านคำแนะนำของ Microsoft บริการ - http://support.microsoft.com/gp/advisoryservice
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับตัวเลือกการสนับสนุนที่พร้อมใช้งาน และวิธีการติดต่อ Microsoft แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:http://support.microsoft.com/default.aspx?scid=fh; สหรัฐอเมริกาสั้น CNTACTMS
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเรียกใช้โค้ดตัวอย่าง คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
212536 OFF2000: วิธีการเรียกใช้โค้ดตัวอย่างจากบทความฐานข้อมูลองค์ความรู้
ป้อนคีย์ฟังก์ชันใน Word 6.0
ใน Word 6.0 สำหรับ Windows ถ้าคุณกดแป้น ENTER ในเอกสารที่ได้รับการป้องกันสำหรับฟอร์ม จุดแทรกย้ายไปยังเขตข้อมูลฟอร์มถัดไป ในทางกลับกัน ใน Word รุ่นต่อมา แป้น ENTER ไม่ได้ย้ายไปยังเขตข้อมูลฟอร์มถัดไป แต่แทรกเครื่องหมายย่อหน้า แทน เหมือนกับที่ทำในเอกสารไม่มีการป้องกัน นี้ช่วยให้คุณสามารถป้อนข้อความหลายบรรทัดลงในเขตข้อมูลฟอร์มข้อความ
แมโคร
ต่อไปนี้คือ สี่ Visual Basic สำหรับแมโครที่โปรแกรมประยุกต์ที่คุณสามารถใช้ร่วมกันเพื่อเลียนแบบ Word 6.0 สำหรับฟังก์ชันการทำงานของแป้น ENTER ในเอกสารเขตข้อมูลแบบฟอร์มที่ได้รับการป้องกันใหม่ที่ยึดตามแม่แบบ ต่อไปนี้เป็นคำอธิบายโดยย่อของการทำงานของแต่ละแมโคร:
-
แมโครตัวแรกย้ายจุดแทรกไปยังเขตข้อมูลฟอร์มถัดไป
-
แมโครที่สองกำหนดให้แมโครที่แรกกับแป้น ENTER
-
แมโครที่สามช่วยให้มั่นใจว่า ฟังก์ชันคีย์ยังคงมีอยู่เมื่อคุณเปิดเอกสารที่ยึดตามแม่แบบฟอร์มในอนาคต
-
แมโครที่สี่เอาแมโครที่ถูกกำหนดจากแป้น ENTER คืนค่าฟังก์ชันการทำงานเริ่มต้นของคีย์ ENTER
สิ่งสำคัญ: สำหรับรหัสนี้จะทำงานตามที่เขียนไว้ แม่แบบควรไม่ได้รับการป้องกัน ถ้าแม่แบบได้รับการป้องกัน คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
บริบทไม่สามารถแก้ไข
เมื่อต้องการยกเลิกป้องกันแม่แบบ ให้ทำตามขั้นตอนเหล่านี้:
-
เปิดแม่แบบที่ประกอบด้วยแมโครอธิบายไว้ในบทความนี้
-
บนเมนูเครื่องมือคลิกยกเลิกป้องกันเอกสาร
-
บนเมนูแฟ้มคลิกบันทึก
-
บนเมนูแฟ้มคลิกปิด
แมโครตัวแรก: ย้ายจุดแทรกไปยังเขตข้อมูลฟอร์มถัดไป
แมโครนี้ย้ายจุดแทรกไปยังเขตข้อมูลฟอร์มถัดไป ถ้าเขตข้อมูลฟอร์มปัจจุบันเป็นครั้งสุดท้ายในเอกสาร จะย้ายจุดแทรกไปยังเขตข้อมูลฟอร์มแรก
แมโครนี้ใช้คอลเลกชันที่คั่นหน้าเว็บสามารถเรียกชื่อของเขตข้อมูลฟอร์มปัจจุบัน ชื่อของแต่ละเขตข้อมูลฟอร์มเป็นชื่อของคั่นหน้าเว็บที่ถูกใส่ไว้สำหรับเขตข้อมูลฟอร์ม ถ้าคุณมีที่คั่นหน้าอื่นในเอกสารของคุณ คุณอาจต้องเพิ่มรหัสเพิ่มเติมที่นี่เมื่อต้องการจัดการข้อผิดพลาดที่อาจเกิดขึ้น แมโครที่ยังถือว่า เขตข้อมูลฟอร์มทั้งหมดในเอกสารอนุญาตให้ผู้ใช้ป้อนข้อมูล ถ้านี่ไม่ใช่เป็นกรณีในเอกสารของคุณ คุณจำเป็นต้องเพิ่มรหัสเพิ่มเติมในแมโครของคุณ
แมโครที่ตรวจสอบเพื่อดูว่า ส่วนปัจจุบันได้รับการป้องกัน หรือยกเลิกป้องกันแล้วย้ายไปยังเขตข้อมูลฟอร์มถัดไป (ในส่วนที่ได้รับการป้องกัน) หรือแทรกเครื่องหมายย่อหน้า (ในส่วนไม่มีการป้องกัน) ฟังก์ชันนี้มีความจำเป็นสำหรับเอกสารที่ประกอบด้วยทั้งส่วนที่มีป้องกันฟอร์มการป้อนข้อมูล และยกเลิกป้องกัน ส่วน
Sub EnterKeyMacro()
' Check whether the document is protected for forms
' and whether the protection is active.
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields And _
Selection.Sections(1).ProtectedForForms = True Then
' Retrieve the bookmark of the current selection.
' This is equivalent to the name of the form field.
myformfield = Selection.Bookmarks(1).Name
' Go to the next form field if the current form field
' is not the last one in the document.
If ActiveDocument.FormFields(myformfield).Name <> _
ActiveDocument.FormFields(ActiveDocument.FormFields.Count) _
.Name Then
ActiveDocument.FormFields(myformfield).Next.Select
Else
' If the current form field is the last one,
' go to the first form field in the document.
ActiveDocument.FormFields(1).Select
End If
Else
' If the document is not protected for forms,
' insert a tab stop character.
Selection.TypeText Chr(13)
End If
End Sub
แมโครที่สอง: กำหนดให้แมโค EnterkeyMacro กับแป้น ENTER
แมโครนี้แนบแมโค EnterKeyMacro แป้น ENTER ดังนั้นจึง reprogramming ฟังก์ชันของแป้นเมื่อมีใช้เขตข้อมูลแบบฟอร์มเอกสารที่ถูกป้องกัน เมื่อคุณใช้แมโครนี้ในแม่แบบกำหนดเอง ชื่อเป็น AutoNew ซึ่งเปลี่ยนการทำงานของแป้น ENTER ในเอกสารใหม่ทั้งหมดแบบฟอร์มโดยยึดตามแม่แบบ
Sub AutoNew()
' Do Not protect the template containing these macros.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the ENTER key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
' Reprotect the document with Forms protection.
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End Sub
แมโครที่สาม: การกำหนดให้แมโคร AutoOpen กับแป้น ENTER
เพิ่มแมโครที่มี AutoOpen กับรหัสต่อไปนี้ ให้แน่ใจว่า ฟังก์ชันคีย์ยังคงมีอยู่เมื่อคุณเปิดเอกสารที่ยึดตามแม่แบบฟอร์มในอนาคต
Sub AutoOpen()
' This macro will reassign the ENTER key when you open an existing
' Word form fields document.
CustomizationContext = ActiveDocument.AttachedTemplate
' Bind the Enter key to the EnterKeyMacro.
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn), _
KeyCategory:=wdKeyCategoryMacro, Command:="EnterKeyMacro"
End Sub
หมายเหตุ: การเรียกใช้แมโครเหล่านี้อาจปิดการใช้งานบางคุณลักษณะเช่นการแก้ไขอัตโนมัติและข้อความอัตโนมัติ และอาจส่งผลกระทบต่อลักษณะการทำงานอื่น ๆ ที่ขึ้นอยู่กับแป้น ENTER สำหรับการดำเนินการที่เหมาะสม คุณต้องเรียกใช้แมโครที่สี่จะคืนค่าฟังก์ชันการทำงานเริ่มต้นของแป้น ENTER หรือเริ่มต้น Microsoft Word
แมโครที่สี่: การเอาคำสั่งที่กำหนดให้กับปุ่ม ENTER
แมโครนี้คืนค่าฟังก์ชันการทำงานเริ่มต้นของคีย์ ENTER เมื่อคุณใช้แมโครนี้ในแม่แบบกำหนดเอง ชื่อเป็น AutoClose
Sub AutoClose()
CustomizationContext = ActiveDocument.AttachedTemplate
FindKey(KeyCode:=BuildKeyCode(wdKeyReturn)).Disable
' Disables prompt to save template changes.
Templates(1).Save
End Sub
หมายเหตุ: ตำแหน่งที่ตั้งที่จะถูกบันทึกไว้ ในกรณีนี้แม่แบบแนบอยู่กับเอกสารที่ใช้งานแป้นพิมพ์แบบกำหนดเองที่ตั้งค่าคุณสมบัติCustomizationContext
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากรที่พร้อมใช้งานสำหรับการสร้างโซลูชันแบบกำหนดเองโดยใช้ Visual Basic สำหรับโปรแกรมประยุกต์และ Microsoft Word 2000 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
212623 WD2000: ทรัพยากรการเขียนโปรแกรมแมโคร
226118 OFF2000: เขียนโปรแกรมทรัพยากรสำหรับ Visual Basic สำหรับโปรแกรมประยุกต์