วิธีการสร้าง Office COM เพิ่มเติม โดยใช้ VBA และนักพัฒนา Office

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 306130 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้อธิบายวิธีการแสดง UserForm ที่ welcomes คุณเมื่อคุณเริ่ม Microsoft Excel หรือ Microsoft Word คอมโพเนนต์แบบวัตถุ (COM) เพิ่ม-คงคลังหมายความว่าเป็นการ centralize รหัสทั่วไปในไลบราการคอมไพล์แล้วเชื่อมโยง dynamic รี (DLL) ที่สามารถเป็นได้อย่างง่ายดายใช้ใน Office ใด ๆ ที่มีแอพลิเคชัน (ตัวอย่างเช่น คุณสามารถเข้าถึงที่ติดต่อ Microsoft Outlook จาก Excel, Word และ Microsoft Access) ได้ วิธีที่ง่ายที่สุดในการพัฒนาใน DLL COM ใน Microsoft Office ที่กำลังทำงาน ด้วยการเพิ่ม- ใน โครงการ ซึ่งเป็นโปรแกรมออกแบบและการอ้างอิงไปยังIDTExtensibility2ไลบรารี

ความต้องการ

บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:

  • การสร้าง Visual Basic สำหรับขั้นตอนของแอปพลิเคชัน (VBA) ในโปรแกรมประยุกต์ Office XP
  • การทำงานกับ UserForms ใน VBA
  • การกำหนดเองแถบเครื่องมือ Office XP

สร้างการเพิ่มในโครงการ

คุณสามารถสร้างการเพิ่มในโครงการในโปรแกรมประยุกต์ Microsoft Office 2000 หรือ Microsoft Office XP ใด ๆ เมื่อคุณมี Microsoft Office 2000 นักพัฒนาหรือเครื่องมือสำหรับนักพัฒนา XP ของ Microsoft Office ที่ติดตั้ง ตัวอย่างนี้ใช้ Microsoft Word 2002
  1. เปิด Microsoft Word 2002
  2. จากนั้นเครื่องมือเมนู ให้ชี้ไปที่แมโครแล้ว คลิกตัวแก้ไข visual Basic.
  3. ในการ Visual Basic Editor (VBE), คลิกโครงการใหม่ในการแฟ้ม:เมนู
  4. ในการโครงการใหม่กล่องโต้ตอบ คลิกเพิ่มในโครงการ. โดยอัตโนมัติซึ่งมีการเพิ่มใน Designer
  5. ถ้ามองไม่เห็นหน้าต่างคุณสมบัติ คลิกหน้าต่างคุณสมบัติในการมุมมองเมนู
  6. ในหน้าต่างคุณสมบัติ เปลี่ยนชื่อโครงการจาก AddInDesigner1 เพื่อ WelcomeAddIn
  7. จากนั้นแทรกเมนู คลิกUserFormเมื่อต้องการแทรกแบบ UserForm
  8. จากกล่องเครื่องมือ เพิ่มป้ายชื่อและปุ่มคำสั่งไป UserForm
  9. ในหน้าต่างคุณสมบัติ เปลี่ยนแอตทริบิวต์ของตัวควบคุมให้ตรงกับค่าในตารางต่อไปนี้:
    ยุบตารางนี้ขยายตารางนี้
    ตัวควบคุมคุณสมบัติค่า
    ป้ายชื่อชื่อ:lblMessage
    คำอธิบายเฉพาะยินดีต้อนรับ
    Font14pt
    AutoSizeTrue
    CommandButtonชื่อ:cmdOK
    คำอธิบายเฉพาะตกลง
    UserFormชื่อ:frmWelcome

  10. จากนั้นแทรกเมนู คลิกโมดูลเมื่อต้องการแทรกโมดูลมาตรฐาน
  11. เพิ่มการประกาศตัวแปรสายอักขระทั้งหมดต่อไปนี้ลงในโมดูลมาตรฐาน:
    Public gstrUserName As String
    'This variable will be used to store the name of the user as defined
    'in the Options dialog boxes (from the Tools menu) in Word and Excel.
    					
  12. ในโมดูล เพิ่มโค้ดต่อไปนี้เพื่อสร้างการดำเนินการย่อยสาธารณะที่ชื่อว่าDisplayFormเมื่อต้องการแสดงแบบฟอร์มบนหน้าจอ:
    Public Sub DisplayForm()
      frmWelcome.Show vbModal
    End Sub
    					
  13. ดูหน้าต่างรหัสสำหรับฟอร์ม frmWelcome และเพิ่มโค้ดต่อไปนี้ไปUserForm_Initializeเหตุการณ์การ concatenate ป้ายคำอธิบายป้ายชื่อกับตัวแปรของสายอักขระ:
    lblMessage.Caption = lblMessage.Caption & " " & gstrUserName
    					
  14. เพิ่มรหัสต่อไปนี้ไปคลิกเหตุการณ์สำหรับ CommandButtoncmdOKเมื่อต้องการยกเลิกการโหลดฟอร์ม:
    Unload me
    					

การเปลี่ยนแปลงคุณสมบัติของผู้ออกแบบเพิ่มใน

ทำตามขั้นตอนเหล่านี้เพื่อเปลี่ยนแปลงคุณสมบัติของผู้ออกแบบเพื่อที่จะเพิ่มไว้จะเริ่มทำงานทันทีที่ Microsoft Excel จะเริ่มต้น:
  1. ในโครงการ Explorer คลิกสองครั้งบนคอมโพเนนต์เพื่อกลับไปเพิ่มในโปรแกรมออก
  2. ในการทั่วไปแท็บโปรแกรมออก เปลี่ยนแปลงคุณสมบัติของตัวออกแบบเพื่อให้ตรงกับค่าในตารางต่อไปนี้:
    ยุบตารางนี้ขยายตารางนี้
    คุณสมบัติค่า
    ชื่อที่ใช้แสดง addInFunFormMessage
    คำอธิบาย addInซึ่งประกอบด้วยรหัสที่ระบุไปยัง Excel
    โปรแกรมประยุกต์Microsoft Excel
    รุ่นของโปรแกรมประยุกต์Microsoft Excel 10.0
    ลักษณะการทำงานของงานเริ่มต้นเริ่มต้น

ใช้เหตุการณ์ IDTExtensibility2

  1. จากนั้นมุมมองเมนู คลิกรหัสเมื่อต้องการดูรหัสในโมดูลหลังโปรแกรมออกแบบ
  2. จากนั้นเครื่องมือเมนู คลิกอ้างอิง:และตั้งค่าการอ้างอิงถึงวัตถุของ Excel Microsoft ไลบรารี
  3. ในการวัตถุรายการหล่นลง คลิกAddinInstance. ในการขั้นตอนรายการหล่นลง คลิกOnConnection.

    เหตุการณ์นี้จะเป็นประโยชน์ สำหรับการสร้างปุ่ม CommandBar หรือ การเชื่อมโยงรหัสกับเหตุการณ์เช่นเหตุการณ์แอพลิเคชันเมื่อจะเพิ่มไว้มีการเชื่อมต่อไปยังโปรแกรมประยุกต์โฮสต์
  4. เพิ่มรหัสต่อไปนี้ไปAddinInstance_OnConnectionกระบวนงานเหตุการณ์เพื่อเก็บชื่อผู้ใช้ในตัวแปรส่วนกลางstrUserNameและเมื่อต้อง การเรียกDisplayFormขั้นตอน:
    gstrUserName = Application.UserName
    DisplayForm
    					
  5. ใน VBE คลิกบันทึกและกำหนดชื่อโครงการ Welcome.vba

เพิ่มตัวออกแบบตัวที่สอง

ในขั้นตอนนี้ เพิ่มตัวออกแบบสองการใช้ฟังก์ชันการทำงานเดียวกันใน Microsoft Word
  1. สร้างการเพิ่มในโครงการอื่นในการ VBE AddInProject2 ถูกสร้าง โดยค่าเริ่มต้น
  2. Explorer โครงการ ลากเพิ่มใหม่-ในการออกแบบอินเทอร์เฟซ(AddInDesigner1) ลงในที่มีอยู่แล้วเพิ่มในโครงการของคุณ จะมีสอง designers ในโครงการ
  3. คลิกขวาในโครงการ ExplorerAddInProject2แล้ว คลิกปิดโครงการเมื่อต้องการลบโครงการที่คุณเพิ่งสร้างขึ้น
  4. เมื่อคุณได้รับข้อความต่อไปนี้ หรือคล้ายกัน
    มีการปรับเปลี่ยน AddInProject2 โครงการ คุณต้องการบันทึกไว้
    คลิกไม่มี.
  5. การเปลี่ยนแปลงคุณสมบัติของตัวออกแบบเพื่อระบุword 10โหลดเมื่อ และ เป็นโปรแกรมประยุกต์เป้าหมายเริ่มต้น.
  6. เพิ่มรหัสต่อไปนี้ของตัวออกแบบ Word ใหม่AddinInstance_OnConnectionเหตุการณ์กระบวน ซึ่งเหมือนกับรหัสที่เขียนไว้ก่อนหน้านี้สำหรับของตัวออกแบบ ExcelOnConnectionเหตุการณ์:
    gstrUserName = Application.UserName
    DisplayForm
    					

การเพิ่มในการแก้จุดบกพร่อง

  1. ถ้าคุณต้อง เพิ่มจุดหยุดพักที่เหมาะสมกับรหัส
  2. ใน VBE คลิกเรียกใช้โครงการจากนั้นเรียกใช้เมนูการทำงานเพิ่มเข้า
  3. เริ่ม Microsoft Excel เมื่อโครงการเริ่มต้น คุณอาจเห็นกล่องโต้ตอบสำหรับผู้ออกแบบ AddIn คลิกตัวเลือกการเริ่มการทำงานของโปรแกรมประยุกต์ และเรียกดู Excel.exe ถ้ากล่องโต้ตอบนี้ไม่ปรากฏขึ้นมา คลิกเริ่มการทำงานชี้ไปที่โปรแกรมแล้ว คลิกMicrosoft Excelเมื่อต้องการเริ่มระบบ Excel UserForm ของคุณควรปรากฏขึ้น
  4. ถ้ามีการจัดการการเข้าเพิ่มใน COM ไม่มีอยู่แล้ว เพิ่มCOM เพิ่มเติมคำสั่งไปยังแถบเครื่องมือเป็นดังนี้:
    1. ในการเครื่องมือเมนู คลิกการกำหนดเอง.
    2. ในการการกำหนดเองกล่องโต้ตอบ คงคำสั่งแท็บ ลากCOM เพิ่มเติมคำสั่งจากนั้นเครื่องมือประเภทลง บนแถบเครื่องมือ หรือไปเครื่องมือเมนูCommandBarPopupวัตถุ
  5. คลิกการCOM เพิ่มเติมแถบคำสั่งเพื่อแสดงการ COM เพิ่มในตัวจัดการ (CAM) รายการใน CAM แสดงโปรแกรมเพิ่มเติมที่จะโหลดทั้งหมด
  6. เมื่อต้องการทดสอบOnConnectionเหตุการณ์ ยกเลิกการเลือกนั้นยินดีต้อนรับเพิ่มในกล่องกาเครื่องหมายใน CAM แล้วคลิกตกลง. redisplay CAM เลือกนั้นยินดีต้อนรับกล่องกาเครื่องหมาย และจากนั้น คลิกตกลง. UserForm ควรปรากฏขึ้นอีกครั้ง
  7. ปิดโปรแกรมประยุกต์ที่โฮสต์ (Word หรือ Excel), และคลิกหยุดการโครงการจากนั้นเรียกใช้เมนูใน VBE หยุดการทำงานโครงการ

ตรวจสอบการทำงานว่า การเพิ่มแบบในได้

ขณะนี้ คุณสามารถคอมไพล์เพิ่มเข้า และตรวจสอบว่า ได้ทำงานบนคอมพิวเตอร์เครื่องอื่น
  1. บันทึกโครงการใน VBE นี่เป็นรุ่นที่คุณสามารถแก้ไข สถานะการคอมไพล์ไม่อนุญาตให้คุณทำการปรับเปลี่ยน
  2. จากนั้นแฟ้ม:เมนู คลิกตรวจสอบ Welcome.DLL.
  3. ใช้แบบregsvr32คำสั่งที่จะลงทะเบียน DLL เป็นดังนี้:
    1. จาก Windowsเริ่มการทำงานเมนู คลิกเรียกใช้.
    2. ในการOPENข้อความกล่อง พิมพ์ข้อความต่อไปนี้:
      regsvr32เส้นทาง> \Welcome.DLL
      โดย:เส้นทาง> คือเส้นทางระบบแฟ้มไปยัง DLL
  4. คลิกตกลงเมื่อต้องการยืนยันการลงทะเบียน DLL
  5. เรียกใช้ Excel และ/หรือ Word UserForm ของคุณควรปรากฏขึ้น ถ้าคุณไม่เห็น UserForm ของคุณ คลิกAddIns COMจากนั้นเครื่องมือเมนู แล้วเลือกนั้นยินดีต้อนรับกล่องกาเครื่องหมาย
หมายเหตุ:: วิธีที่ง่ายที่สุดการแจกจ่าย DLL จะใช้แพคเกจ'และ'ตัวช่วยสร้างการจัดวาง

การแก้ไขปัญหา

  • ตรวจสอบให้แน่ใจว่า คุณเขียนรหัสย่อ มีประสิทธิภาพสำหรับเวลาที่เพิ่มเข้าโหลดเข้าในหน่วยความจำ ตัวอย่างเช่น ถ้าของคุณOnConnectionเหตุการณ์ manipulates ข้อมูลฐานข้อมูลเมื่อเริ่มต้น ผู้ใช้ของคุณจะคิดว่า คอมพิวเตอร์ได้หยุดการตอบสนอง (หยุด)
  • ระวังเมื่อคุณใช้ UserForms ถ้าผู้ใช้คลิกในแอพลิเคชันโฮสต์ ผู้ใช้อาจคิดว่า เขาหรือเธอได้ขาดฟอร์มเนื่องจากถูกซ่อนอยู่เบื้องหลังโฮสต์แอพลิเคชัน ตรวจสอบแทน ให้ฟอร์มของคุณ modal overcome ปัญหานี้ เมื่อต้องการสร้างฟอร์ม modal ใช้vbModalค่าคงที่ดัง:
    frmMyUserForm.Show vbModal
    						
    เมื่อต้องการดูรหัสนี้พอดีในการอ้างอิงถึงตัวอย่างนี้ที่ใด ดูรหัสใน 12 ขั้นตอนของการสร้างการเพิ่มในโครงการส่วน

ข้อมูลอ้างอิง

ให้อ้างอิงถึง \Samples\Working ด้วย AddIns\VBA_COM_AddIn โฟลเดอร์บนซีดีนักพัฒนา XP Office สำหรับเท็มเพลตอี AddIn

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างปุ่ม CommandBar แวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn.microsoft.com/en-us/library/aa140930.aspx

คุณสมบัติ

หมายเลขบทความ (Article ID): 306130 - รีวิวครั้งสุดท้าย: 19 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
  • Microsoft Office XP Developer Edition
Keywords: 
kbhowtomaster kbmt KB306130 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:306130

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com