สำหรับ Microsoft Word 97 รุ่นของบทความนี้ ดู253552
สรุป
บทความนี้อธิบายวิธีการสร้าง และใช้กล่องคำสั่งผสม UserForm เป็นแมโครที่มีรายการสำหรับเขตข้อมูลฟอร์มข้อความเพื่อแสดงข้อมูลจากฐานข้อมูล Microsoft Access แมโครนี้สามารถใช้เป็นวิธีแก้ปัญหาสำหรับข้อจำกัดที่ 25 รายการในเขตข้อมูลฟอร์มแบบหล่นลง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้เมื่อคุณไม่ได้ใช้กับฐานข้อมูล Microsoft Access คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
198561วิธีสร้างกล่องคำสั่งผสมที่ประกอบด้วยมากกว่า 25 รายการ
306258วิธีสร้างกล่องคำสั่งผสมที่ประกอบด้วยรายการมากกว่า 25 ใน Word 2002
ข้อมูลเพิ่มเติม
Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทำงานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้ฟังก์ชันการทำงานเพิ่มเติมหรือสร้างกระบวนงานเพื่อตอบสนองความต้องการเฉพาะของคุณ
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
212536วิธีการเรียกใช้โค้ดตัวอย่างจากบทความฐานข้อมูลองค์ความรู้ใน Office 2000
ในแม่แบบของคุณ ใช้ขั้นตอนต่อไปนี้
หมายเหตุ: เมื่อต้องการปิดหน้าต่าง (ตัวอย่างเช่น หน้าต่างรหัสหรือคุณสมบัติหน้าต่าง) คลิกXในมุมบนด้านขวาของหน้าต่าง
สร้างกล่องคำสั่งผสม UserForm
-
ใน Microsoft Office Word 2003 และรุ่นก่อนหน้า verions ชี้ไปที่แมโครบนเมนูเครื่องมือจากนั้น คลิ กVisual Basic Editor
ใน Word 2007 คลิกแท็บ นักพัฒนา แล้วคลิก Visual Basic Editor -
ในหน้าต่างโครงการเลือก TemplateProject ของคุณ
หมายเหตุ: ถ้าไม่ปรากฏหน้าต่างโครงการคลิกสำรวจโครงการบนเมนูมุมมอง -
บนเมนูแทรกคลิกUserForm UserForm แบบใหม่และกล่องเครื่องมือตัวควบคุมจะปรากฏขึ้น คลิกขวาภายในUserFormแล้ว คลิ กรหัสของมุมมองบนเมนูทางลัด เพิ่มรหัสต่อไปนี้ไปยังเหตุการณ์การเตรียมใช้งาน:
Option Explicit
'Define Variables
Private Sub UserForm_Initialize()
Dim dbDatabase As Database
Dim rsNorthwind As Recordset
Dim i As Integer
Dim aResults()
' This code activates the Database connection. Change
' the path to reflect your database.
Set dbDatabase = OpenDatabase("C:\My Documents\NorthWind.mdb")
' This code opens the Customers table. Change the Table
' to reflect the desired table.
Set rsNorthwind = dbDatabase.OpenRecordset("Customers", dbOpenSnapshot)
i = 0
With rsNorthwind
' This code populates the combo box with the values
' in the CompanyName field.
Do Until .EOF
ComboBox1.AddItem (i)
ComboBox1.Column(0, i) = .Fields("CompanyName")
.MoveNext
i = i + 1
Loop
End With
End Sub -
บนเมนูเครื่องมือคลิกอ้างอิง
-
คลิกที่ไลบรารีวัตถุ 3.6 Microsoft DAO
-
คลิกตกลงเพื่อปิดกล่องโต้ตอบการอ้างอิง
-
ปิดหน้าต่างโค้ด
-
คลิกขวาUserFormและจากนั้น คลิกคุณสมบัติบนเมนูทางลัด บนแท็บตัวอักษรเปลี่ยนชื่อ (ชื่อ) เพื่อfrmcomboและจากนั้น เปลี่ยนชื่อคำอธิบายเฉพาะไปยังMicrosoft Word ปิดหน้าต่างคุณสมบัติ UserForm
-
บนแท็บตัวควบคุมของกล่องเครื่องมือComboBoxที่เลือก และวางบน UserForm ของคุณ คลิกขวาที่ตัวควบคุมComboBoxแล้ว คลิ กรหัสของมุมมองบนเมนูทางลัด เปลี่ยนรหัส ComboBox ที่จะ:
Private Sub ComboBox1_Change()
ActiveDocument.FormFields("Text1").Result = ComboBox1.Value
End Subหมายเหตุ: ข้อความ 1 คือ ชื่อที่คั่นหน้าของเขตข้อมูลฟอร์มข้อความที่คุณแทรกลงในแม่แบบของคุณในกระบวนการขั้นตอนที่ 2 ของ "สร้างตัวข้อความเขตข้อมูลฟอร์ม" ของบทความนี้
-
ปิดหน้าต่างโค้ด
-
บนแท็บตัวควบคุมของกล่องเครื่องมือ เลือกCommandButtonแล้ววางไว้บนฟอร์มผู้ใช้ของคุณเป็นปุ่มปิด คลิกขวาCommandButtonแล้ว คลิ กรหัสของมุมมองบนเมนูทางลัด เปลี่ยนรหัส CommandButton เพื่อ:
Private Sub Cmdclose_Click()
End
End Sub -
ปิดหน้าต่างโค้ด
-
คลิกขวาCommandButtonและจากนั้น คลิกคุณสมบัติบนเมนูทางลัด บนแท็บตัวอักษรเปลี่ยนชื่อ (ชื่อ) เพื่อCmdcloseและจากนั้น เปลี่ยนชื่อคำอธิบายเฉพาะเมื่อต้องการปิด ปิดหน้าต่างคุณสมบัติ CommandButton
กล่องคำสั่งผสม UserForm เสร็จสมบูรณ์ในขณะนี้ ดำเนินการกระบวนการ "สร้างตัวรายการแมโคร"
สร้างแมโครรายการ
-
ในหน้าต่างโครงการ เลือก TemplateProject ของคุณ
-
บนเมนู แทรก ให้คลิก โมดูล รหัสแผ่นงานโมดูลที่ว่างเปล่าปรากฏขึ้น
-
พิมพ์รหัสต่อไปนี้:
Sub gocombobox()
frmcombo.Show
End Sub
แมโครรายการเสร็จสมบูรณ์แล้วในขณะนี้ บนเมนูแฟ้มคลิกปิด และกลับไปยัง Microsoft Word
สร้างเขตข้อมูลฟอร์มข้อความ
-
ในแม่แบบของคุณ บนเมนูมุมมองชี้ไปที่แถบเครื่องมือแล้ว คลิ กแบบฟอร์ม
-
วางตำแหน่งจุดแทรกที่คุณต้องการให้เป็นผลลัพธ์ของรายการแบบหล่นลงที่แทรก บนแถบเครื่องมือฟอร์มคลิกเขตข้อมูลฟอร์มข้อความ(ปุ่มแรกทางด้านซ้าย) เขตข้อมูลฟอร์มข้อความจะถูกแทรกลงในแม่แบบของคุณเป็นการแรเงาสีเทา
หมายเหตุ: ถ้าคุณเห็นฟิลด์{FORMTEXT}กด ALT + F9 เมื่อต้องการปิดใช้งานโค้ดเขตข้อมูล -
คลิกขวาเขตข้อมูลฟอร์มข้อความและจากนั้น คลิกคุณสมบัติบนเมนูทางลัด
-
ในกล่องโต้ตอบตัวเลือกของเขตข้อมูลฟอร์มข้อความภายใต้ส่วนการเรียกใช้แมโครเลือกแมโคgocomboboxจากรายการ:ชื่อกล่องคำสั่งผสม
หมายเหตุ: ให้แน่ใจว่า ชื่อคั่นหน้าของเขตข้อมูลฟอร์มข้อความของคุณเท่ากับคุณระบุไว้ในขั้นตอนที่ 9 ของกระบวนการ "สร้างใน UserForm กล่องคำสั่งผสม" ก่อนหน้าในบทความนี้ -
บนแถบเครื่องมือฟอร์มคลิกป้องกันฟอร์ม
-
บันทึก แล้วปิดแม่แบบของคุณ
การใช้แม่แบบ ใน Word 2003 และรุ่นก่อนหน้า verions คลิกสร้างบนเมนูแฟ้ม เลือกแม่แบบของคุณ และจากนั้น คลิกตกลง
เมื่อต้องการใช้แม่แบบใน Word 2007 Microsoft Office ปุ่มคลิก คลิกสร้างเลือกแม่แบบของคุณ แล้ว คลิ กสร้าง
เอกสารใหม่โดยยึดตามแม่แบบของคุณปรากฏขึ้น UserForm ที่ประกอบด้วย ComboBox กับสินค้าของคุณปรากฏขึ้นเมื่อคุณใช้แป้น TAB เพื่อย้ายไปยังเขตข้อมูลฟอร์มข้อความ