วิธีการสร้างมี Office 2000 COM add-in ใน Visual Basic ที่

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

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

สรุป

Microsoft Office 2000 และรุ่นที่ใหม่กว่าสนับสนุนใหม่ uniform สถาปัตยกรรมการออกแบบสำหรับการสร้างโปรแกรมประยุกต์เพิ่มเติมเพื่อเพิ่มประสิทธิภาพ และควบคุมโปรแกรมประยุกต์ Office โปรแกรมเพิ่มเติมเหล่านี้จะเรียกว่า COM Add-Ins ที่ บทความนี้จะสาธิตวิธีการสร้างแบบ COM Add-in ใช้ Visual Basic ที่

ข้อมูลเพิ่มเติม

Add-in ที่มี COM คือ การ inprocess COM server (มี ActiveX DLL) ที่ประมวลผลอินเทอร์เฟซสำหรับ IDTExensibility2 ได้ตามที่อธิบายไว้ในไลบรารี Microsoft เพิ่มในตัวออกแบบชนิด (Msaddndr.dll) ทั้งหมด COM add-ins สืบทอดมาจากอินเทอร์เฟซนี้ และต้องปฏิบัติตามวิธีที่ 5 ของแต่ละงาน

OnConnection

เหตุการณ์ OnConnection fires เมื่อใดก็ ตาม COM add-in ที่มีการเชื่อมต่อ Add-in ที่อาจอย่างง่ายมีการเชื่อมต่อเมื่อเริ่มต้นระบบ โดยผู้ใช้ หรือ ผ่านระบบอัตโนมัติ ถ้า OnConnection ส่งกลับเรียบร้อยแล้ว add-in ที่จะพูดให้โหลด ถ้ามีการส่งคืนข้อผิดพลาด โปรแกรมประยุกต์โฮสต์ปล่อยการอ้างอิงนั้นเพื่อที่จะเพิ่มในทันที และวัตถุถูกทำลาย

OnConnection ใช้พารามิเตอร์ทั้งสี่ที่ต่อไปนี้:
  • โปรแกรมประยุกต์ - การอ้างอิงไปยังวัตถุโปรแกรมประยุกต์ของโฮสต์
  • ConnectMode - ค่าคงที่ระบุการเชื่อมต่ออย่างไร add-in ที่มีอยู่
    • ext_cm_AfterStartup - เริ่มต้นการใช้งาน โดยผู้ใช้จากกล่องโต้ตอบเพิ่มปลั๊กอิน COM
    • ext_cm_CommandLine - การเชื่อมต่อจากบรรทัดคำสั่ง (ใช้ไม่ได้กับการสร้างโปรแกรม COM เพิ่มเติมสำหรับโปรแกรมประยุกต์ Office)
    • ext_cm_External - การเชื่อมต่อ โดยโปรแกรมประยุกต์ภายนอกผ่านระบบอัตโนมัติ (ใช้ไม่ได้กับการสร้างโปรแกรม COM เพิ่มเติมสำหรับโปรแกรมประยุกต์ Office)
    • ext_cm_Startup - เริ่มต้น ด้วยการโฮสต์เมื่อเริ่มต้นโปรแกรมประยุกต์ (ลักษณะการทำงานนี้จะถูกควบคุม โดยการตั้งค่าในรีจิสทรี)
  • AddInInst - การอ้างอิงไปยังวัตถุ COMAddIn ที่หมายถึงนี้เพิ่มเข้าในคอลเลกชัน COMAddIns สำหรับโปรแกรมประยุกต์โฮสต์
  • กำหนดเอง - อาร์เรย์ของตัวแปรที่สามารถเก็บข้อมูลที่ผู้ใช้กำหนดเอง

OnDisconnection

เหตุการณ์ OnDisconnection fires เมื่อการ COM add-in ที่ไม่ได้เชื่อมต่อ และ ก่อนจะ unloads จากหน่วยความจำ Add-in ที่ควรทำการล้างข้อมูลใด ๆ ของทรัพยากรในเหตุการณ์นี้ และการคืนค่าการเปลี่ยนแปลงใด ๆ ที่ทำกับโปรแกรมประยุกต์โฮสต์

OnDisconnection ใช้เวลาสองพารามิเตอร์ต่อไปนี้:
  • RemoveMode - ค่าคงที่ระบุอย่างไร add-in ที่ถูกยกเลิก
    • ext_dm_HostShutdown - ยกเลิกการเชื่อมต่อเมื่อคุณปิดโปรแกรมประยุกต์โฮสต์
    • ext_dm_UserClosed - ยกเลิกการเชื่อมต่อ โดยผู้ใช้หรือตัวควบคุมการทำงานโดยอัตโนมัติ
  • กำหนดเอง - อาร์เรย์ของตัวแปรที่สามารถเก็บข้อมูลที่ผู้ใช้กำหนดเอง

OnAddInsUpdate

เหตุการณ์ OnAddInsUpdate fires เมื่อการเปลี่ยนแปลงการตั้งค่าของการลงทะเบียน COM เพิ่มปลั๊กอิน กล่าว ทุกครั้งที่เป็น COM add-in ที่ถูกติดตั้ง หรือเอาออกจากโปรแกรมประยุกต์โฮสต์ เหตุการณ์นี้ fires

OnStartupComplete และ OnBeginShutdown

มีเรียกวิธี OnStartupComplete และ OnBeginShutdown เมื่อโปรแกรมประยุกต์โฮสต์ได้ออกจาก หรือจะเข้าสู่สถานะที่โต้ตอบผู้ใช้ควรจะ avoided เนื่องจากโปรแกรมประยุกต์ไม่ว่างการโหลด หรือการโหลดตัวเองจากหน่วยความจำ OnStartupComplete เท่านั้นเรียกว่าถ้ามีการเชื่อมต่อของคุณเพิ่มในถูกอยู่ในระหว่างการเริ่มต้นระบบ และ OnBeginShutdown เท่านั้นเรียกว่าถ้าของ add-in ที่ไม่ได้เชื่อมต่อ โดยการโฮสต์ในระหว่างการปิดระบบ

เนื่องจากการติดต่อผู้ใช้สำหรับโปรแกรมประยุกต์โฮสต์อยู่อย่างสมบูรณ์เมื่อเหตุการณ์เหล่านี้ไฟไหม้ เหล่านั้นอาจเป็นวิธีเดียวที่จะดำเนินการบางอย่างที่ไม่ น่าจะไม่พร้อมใช้งานจาก OnConnection และ OnDisconnection

การลงทะเบียน COM add-in ที่

นอกเหนือจากการลงทะเบียน COM ปกติ เป็น COM add-in ที่จำเป็นต้องลงทะเบียนตัวเอง ด้วยโปรแกรมประยุกต์ Office แต่ละที่รัน เมื่อต้องการลงทะเบียนตัวเอง ด้วยโปรแกรมประยุกต์เฉพาะ add-in ที่ควรสร้างคีย์ย่อย การใช้ ProgID ที่เป็นชื่อสำหรับคีย์ ภายใต้ตำแหน่งที่ตั้งต่อไปนี้:
HKEY_CURRENT_USER\Software\Microsoft\Office\<OfficeApp>\Addins\<ProgID>
Add-in ที่สามารถให้ค่าตำแหน่งนี้สำคัญสำหรับทั้งชื่อที่ใช้แสดงที่จำง่ายและคำอธิบายทั้งหมด นอกจากนี้ add-in ที่ควรระบุพฤติกรรมการโหลดที่ต้องการใช้ค่า DWORD ที่เรียกว่า "LoadBehavior" ค่านี้กำหนดวิธี add-in ที่โหลด โดยโปรแกรมประยุกต์โฮสต์ และขึ้นเป็นชุดของค่าต่าง ๆ ต่อไปนี้:
  • 0 =เลิกการเชื่อมต่อ - ไม่ได้โหลด
  • 1 = Connected - มีการโหลด
  • 2 = Bootload - โหลดโปรแกรมประยุกต์เริ่มต้น
  • 8 = DemandLoad - โหลดเมื่อการร้องขอ โดยผู้ใช้
  • 16 = ConnectFirstTime - โหลดเพียงครั้งเดียว (ในการเริ่มต้นถัดไป)
โดยทั่วไปค่าที่ระบุไว้คือ 0x03 (Connected | Bootload)

โปรแกรมเพิ่มเติมที่ใช้ IDTExtensibility2 ควรระบุ DWORD เป็นค่าหรือที่เรียกว่า "CommandLineSafe" เพื่อบ่งชี้ว่า พวกเขามีความปลอดภัยสำหรับการดำเนินงานที่ไม่สนับสนุนอินเทอร์เฟซของผู้ใช้ หมายค่าของ 0x00 ถึง False, 0x01 เป็น True

อาคารใช่ COM add-in

คุณสามารถสร้างเป็น COM Add-in ในสามวิธีที่ระบุไว้ด้านล่างนี้อย่างใดอย่างหนึ่งที่:

การสร้าง โดยการใช้ Com add-in ที่แบบใช่ COM add-in

ถ้าคุณมีผู้ พัฒนา 2000 ของ Microsoft Office หรือนัก พัฒนา XP ของ Microsoft Office และ Visual Basic 6.0 วิธีที่ง่ายที่สุดในการสร้างแบบ COM ในคือการ ใช้แม่แบบเพิ่ม in.vbp COM โครงการนี้จะอยู่ในโฟลเดอร์ย่อยของ ODETools\V9\Samples\OPG\Samples\CH11\VB_COM_AddIn บนแผ่นซีดี Office 2000 สำหรับนักพัฒนา การคัดลอกแฟ้มต่าง ๆ ในโฟลเดอร์นี้ไปยังโฟลเดอร์ Visual Basic 6.0 Template\Projects ซึ่งโดยปกติคือ C:\Program Files\Microsoft Visual Studio\VB98\Template\Projects การคัดลอกโครงการต้นแบบไปยังตำแหน่งที่ตั้งนี้จะมั่นใจว่า แม่แบบที่ปรากฏในกล่องโต้ตอบโครงการใหม่ Visual Basic 6.0 ดูบทที่ 11 ของ Microsoft Office 2000 Visual Basic โปรแกรมเมอร์ของการแนะนำสำหรับข้อมูลเพิ่มเติมเกี่ยวกับแม่แบบนี้และสร้าง COM Add-ins ที่

การสร้าง โดยใช้ Visual Basic 6 เพิ่มใน designer ใช่ COM add-in

ถ้าคุณมี เพียง Microsoft Visual Basic 6.0 ติดตั้งอยู่ และต้องการใช้การแรปเปอร์สำหรับดังนั้นคุณไม่จำเป็นต้องใช้ IDTExtensibility2 โดยตรง คุณสามารถใช้ตัวเดียวกันออกเพิ่มในแบบที่คุณจะต้องใช้ในการสร้างแบบตาม VB6 นิ้วเพิ่มขั้นตอนเหล่านี้เพื่อสร้างเช่น add-in หนึ่งสำหรับ Microsoft Excel 2000 หรือ 2002:
  1. เริ่ม Microsoft Visual Basic 6.0 และเลือกAddinเป็นชนิดของโครงการ นี้ควรเพิ่มคลาตัวออกแบบโครงการ (การเชื่อมต่อ) และแบบฟอร์ม (frmAddin)
  2. เปิดเครื่องตัวออกแบบหน้าต่างสำหรับการเชื่อมต่อและเลือกMicrosoft Excelจากนั้นแอพลิเคชันรายการแบบหล่นลง
  3. ในการลักษณะการทำงานเริ่มต้นของการโหลดรายการแบบหล่นลง เลือกเริ่มต้นระบบ.
  4. การเอาออกfrmAddinจากโครงการ
  5. จากนั้นโครงการหน้าต่าง คลิกขวาเชื่อมต่อสินค้าและเลือกรหัสของมุมมอง.
  6. เอารหัสทั้งหมดในหน้าต่างรหัสผู้ออกแบบ รหัสนี้ทำงานสำหรับโปรแกรม VB เพิ่มเติมแต่ไม่ Office เพิ่มเติม
  7. เพิ่มรหัสต่อไปนี้เป็นผู้ออกแบบ:
       Option Explicit
    
       Dim oXL As Object
       Dim WithEvents MyButton As Office.CommandBarButton
    
       Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
        ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
        ByVal AddInInst As Object, custom() As Variant)
          On Error Resume Next
          MsgBox "My Addin started in " & Application.Name
       
          Set oXL = Application
       
          Set MyButton = oXL.CommandBars("Standard").Controls.Add(1)
             With MyButton
                .Caption = "My Custom Button"
                .Style = msoButtonCaption
    
              ' The following items are optional, but recommended. 
              ' The Tag property lets you quickly find the control 
              ' and helps MSO keep track of it when there is more than
              ' one application window visible. The property is required
              ' by some Office applications and should be provided.
    
                .Tag = "My Custom Button"
     
              ' The OnAction property is optional but recommended. 
              ' It should be set to the ProgID of the add-in, such that if
              ' the add-in is not loaded when a user presses the button,
              ' MSO loads the add-in automatically and then raises
              ' the Click event for the add-in to handle. 
    
                .OnAction = "!<" & AddInInst.ProgId & ">"
    
                .Visible = True
             End With
       
       End Sub
    
       Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As _
          AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
          On Error Resume Next
          MsgBox "My Addin was disconnected by " & _
             IIf(RemoveMode = ext_dm_HostShutdown, _
             "Excel shutdown.", "end user.")
          
          MyButton.Delete
          Set MyButton = Nothing
          Set oXL = Nothing
        End Sub
    
       Private Sub MyButton_Click(ByVal Ctrl As Office.CommandBarButton, _
         CancelDefault As Boolean)
          MsgBox "Our CommandBar button was pressed!"
       End Sub
  8. บันทึกโครงการ และสร้างการMyAddin.dll. ตัวออกแบบจะลงทะเบียนกับ add-in สำหรับคุณ
  9. เปิด Microsoft Excel และคุณจะสังเกตเห็นกล่องข้อความเมื่อ add-in ที่มีการโหลด และไม่โหลด บนแถบเครื่องมือมาตรฐาน คุณจะมีปุ่มใหม่ที่มีป้ายชื่อปุ่มแบบกำหนดเองของฉันว่า เรา add-in ที่จะจัดการเมื่อเลือก

การสร้างแบบ COM add-in ที่ โดยใช้การดำเนิน

ในขณะที่ไม่เป็นปกติ คุณสามารถสร้างแบบ COM ในการใช้ Microsoft Visual Basic 5.0 และการดำเนินคำสำคัญในการใช้อินเทอร์เฟซสำหรับ IDTExtensibility2 โดยตรง ข้อเสียเพียงการวิธีการนี้มีการลงทะเบียน เนื่องจาก Microsoft Visual Basic ไม่ทราบวิธีการเพิ่มคีย์จำเป็นสำหรับการลงทะเบียนเพิ่มกับ Office คุณจะต้องทำเช่นนี้แยกจากกัน (ในยูทิลิตี้การตั้งค่าแบบกำหนดเองที่ หรือใช้สคริปต์ REG)

อย่างไรก็ตาม สิทธิประโยชน์จากการดำเนินการโดยใช้คือ ว่า ได้โดยตรง และมีประสิทธิภาพมากกว่าการใช้ตัวออกแบบ และช่วยให้เราสามารถสร้างวัตถุ COM เดียวที่สามารถทำงานในโปรแกรมประยุกต์ Office หลาย (แทนที่เป็นของการสร้างวัตถุเชื่อมต่อแยกต่างหากสำหรับแต่ละแอพลิเคชันที่เราต้องการทำงานใน)

ต่อไปนี้เป็นขั้นตอนสำหรับการเขียนที่ประมวลผลโดยการเพิ่มในใช้:
  1. เปิด Visual Basic และสร้างโครงการ ActiveX DLL ใหม่ ชื่อโครงการMyCOMAddinและตั้งชื่อคลาสสาธารณะเชื่อมต่อ.
  2. จากนั้นการอ้างอิงกล่องโต้ตอบ (โครงการ | การอ้างอิง), เพิ่มการอ้างอิงไปยังไลบรารีวัตถุ Microsoft Office 9.0 (หรือ 10.0 สำหรับ Office XP) และไลบรารีชนิด Microsoft เพิ่มในตัวออกแบบ ถ้าคุณไม่สามารถค้นหาเพิ่มในตัวออกในรายการการอ้างอิง คุณควรเลือกดูสำหรับ Msaddndr.dll หรือ Msaddndr.tlb โดยทั่วไปอยู่ในโฟลเดอร์ "C:\Program Files\Common Files\Designer"
  3. ในการรหัสหน้าต่างสำหรับการเชื่อมต่อ เพิ่มต่อไปนี้:
       Option Explicit
       Implements IDTExtensibility2
    
       Dim oHostApp As Object
       Dim WithEvents MyButton As Office.CommandBarButton
    
      Private Sub IDTExtensibility2_OnConnection(ByVal Application As Object, _
         ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
    
         ByVal AddInInst As Object, custom() As Variant)
      
          On Error Resume Next
        ' Set a reference to the host application...
          Set oHostApp = Application
       
        ' If you aren't in startup, then manually call OnStartupComplete...
          If (ConnectMode <> ext_cm_Startup) Then _
             Call IDTExtensibility2_OnStartupComplete(custom)
          
       End Sub
    
       Private Sub IDTExtensibility2_OnStartupComplete(custom() As Variant)
          Dim oCommandBars As Office.CommandBars
          Dim oStandardBar As Office.CommandBar
       
          On Error Resume Next
        ' Set up a custom button on the "Standard" commandbar...
          Set oCommandBars = oHostApp.CommandBars
          If oCommandBars Is Nothing Then
           ' Outlook has the CommandBars collection on the Explorer object
             Set oCommandBars = oHostApp.ActiveExplorer.CommandBars
          End If
       
          Set oStandardBar = oCommandBars.Item("Standard")
          If oStandardBar Is Nothing Then
           ' Access names it's main toolbar Database
    
             Set oStandardBar = oCommandBars.Item("Database")
          End If
       
        ' In case the button was not deleted, use the exiting one...
          Set MyButton = oStandardBar.Controls.Item("My Custom Button")
             If MyButton Is Nothing Then
    
                Set MyButton = oStandardBar.Controls.Add(1)
                With MyButton
                   .Caption = "My Custom Button"
                   .Style = msoButtonCaption
     
              ' The following items are optional, but recommended. 
              ' The Tag property lets you quickly find the control 
              ' and helps MSO keep track of it when there is more than
              ' one application window visible. The property is required
              ' by some Office applications and should be provided.
    
                .Tag = "My Custom Button"
     
              ' The OnAction property is optional but recommended. 
              ' It should be set to the ProgID of the add-in, such that if
              ' the add-in is not loaded when a user presses the button,
              ' MSO loads the add-in automatically and then raises
              ' the Click event for the add-in to handle. 
    
                   .OnAction = "!<MyCOMAddin.Connect>"
    
                   .Visible = True
                End With
             End If
     
        ' Display a simple message to know which application you started in...
          MsgBox "Started in " & oHostApp.Name & "."
    
          Set oStandardBar = Nothing
          Set oCommandBars = Nothing
       End Sub
    
       Private Sub IDTExtensibility2_OnDisconnection(ByVal RemoveMode As _
         AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
    
          On Error Resume Next
          If RemoveMode <> ext_dm_HostShutdown Then _
             Call IDTExtensibility2_OnBeginShutdown(custom)
          
          Set oHostApp = Nothing
    
       End Sub
    
       Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)
          On Error Resume Next
        ' Notify the user you are shutting down, and delete the button...
          MsgBox "Our custom Add-In is unloading."
          MyButton.Delete
          Set MyButton = Nothing
       End Sub
    
       Private Sub MyButton_Click(ByVal Ctrl As Office.CommandBarButton,    CancelDefault As Boolean)
          MsgBox "Our CommandBar button was pressed!"
       End Sub
    
       Private Sub IDTExtensibility2_OnAddInsUpdate(custom() As Variant)
          'You do nothing if this is called, but you need to
          'add a comment so Visual Basic properly implements the function...
       End Sub
  4. บันทึกโครงการ และสร้างการMyCOMAddin.dll. อย่างไรก็ตาม ก่อนที่คุณเพิ่มในการ จะทำงาน คุณต้องเชื่อมโยงกับโปรแกรมประยุกต์ของ Office ที่คุณต้องการเรียกใช้ใน ในโลกจริง ยูทิลิตี้การตั้งค่าที่สามารถทำเช่นนี้เมื่อมีการติดตั้ง DLL สำหรับตัวอย่างนี้ คุณจะเรียกใช้ฟังก์ชันการลงทะเบียนได้โดยตรงจาก IDE Visual Basic
  5. เพิ่มโมดูลใหม่กับโครงการ รหัสสำหรับ Module1 เพิ่มต่อไปนี้:
       Option Explicit
    
       Private Declare Function RegCreateKeyEx Lib "advapi32.dll" _
       Alias "RegCreateKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, _
       ByVal Reserved As Long, ByVal lpClass As String, ByVal dwOptions As _
       Long, ByVal samDesired As Long, ByVal lpSecurityAttributes As Long, _
       phkResult As Long, lpdwDisposition As Long) As Long
       
       Private Declare Function RegSetValueEx Lib "advapi32.dll" _
       Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As _
       String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, _
       ByVal cbData As Long) As Long
       
       Private Declare Function RegDeleteKey Lib "advapi32.dll" _
       Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) _
       As Long
       
       Private Declare Function RegCloseKey Lib "advapi32.dll" _
       (ByVal hKey As Long) As Long
    
       Private Const HKEY_CURRENT_USER = &H80000001
       Private Const KEY_ALL_ACCESS = &H1F0037
       Private Const REG_CREATED_NEW_KEY = &H1
       Private Const REG_SZ = 1
       Private Const REG_DWORD = 4
    
       'These are the settings for your Add-in...
       Private Const PROGID As String = "MyCOMAddin.Connect"
       Private Const DESCRIPTION As String = "My VB5/6 COM Add-In Sample"
       Private Const LOADBEHAVIOR As Long = 3
       Private Const SAFEFORCOMMANDLINE As Long = 0
    
    
       Public Sub RegisterAll()
          RegisterOfficeAddin "Access"
          RegisterOfficeAddin "Excel"
          RegisterOfficeAddin "FrontPage"
          RegisterOfficeAddin "Outlook"
          RegisterOfficeAddin "PowerPoint"
          RegisterOfficeAddin "Word"
       End Sub
    
       Public Sub UnregisterAll()
          UnRegisterOfficeAddin "Access"
          UnRegisterOfficeAddin "Excel"
          UnRegisterOfficeAddin "FrontPage"
          UnRegisterOfficeAddin "Outlook"
          UnRegisterOfficeAddin "PowerPoint"
          UnRegisterOfficeAddin "Word"
       End Sub
    
       Public Sub RegisterOfficeAddin(sTargetApp As String)
          Dim sRegKey As String
          Dim nRet As Long, dwTmp As Long
          Dim hKey As Long
       
          sRegKey = "Software\Microsoft\Office\" & sTargetApp _
             & "\Addins\" & PROGID
       
          nRet = RegCreateKeyEx(HKEY_CURRENT_USER, sRegKey, 0, _
             vbNullString, 0, KEY_ALL_ACCESS, 0, hKey, dwTmp)
          
          If nRet = 0 Then
             If dwTmp = REG_CREATED_NEW_KEY Then
                Call RegSetValueEx(hKey, "FriendlyName", 0, _
                   REG_SZ, ByVal PROGID, Len(PROGID))
                Call RegSetValueEx(hKey, "Description", 0, _
                   REG_SZ, ByVal DESCRIPTION, Len(DESCRIPTION))
                Call RegSetValueEx(hKey, "LoadBehavior", 0, _
                   REG_DWORD, LOADBEHAVIOR, 4)
                Call RegSetValueEx(hKey, "CommandLineSafe", 0, _
                   REG_DWORD, SAFEFORCOMMANDLINE, 4)
             End If
             Call RegCloseKey(hKey)
          End If
       
       End Sub
    
       Public Sub UnRegisterOfficeAddin(sTargetApp As String)
          Dim sRegKey As String
          sRegKey = "Software\Microsoft\Office\" & sTargetApp _
             & "\Addins\" & PROGID
       
           Call RegDeleteKey(HKEY_CURRENT_USER, sRegKey)
       
       End Sub
  6. จากนั้นทันทีหน้าต่าง (มุมมอง | หน้าต่าง immediate), ชนิดRegisterAllแล้ว กด ENTER นี้จะลงทะเบียน add-in ที่ มีโปรแกรมทั้งหมดที่ประยุกต์ Office ได้รับการสนับสนุน (Access, Excel, FrontPage, Outlook, PowerPoint และ Word)
  7. เปิดโปรแกรมประยุกต์ Office ใด ๆ อยู่ก่อน สังเกตว่า กล่องข้อความเริ่มต้น และปิดระบบ และปุ่มที่กำหนดเองที่ถูกเพิ่มไปยังแถบเครื่องมือมาตรฐาน
  8. เมื่อคุณต้องการถอนการลงทะเบียนชนิดในUnregisterAllในหน้าต่าง Immediate Visual Basic และกด ENTER

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

แนะนำ "Microsoft Office 2000 Visual Basic โปรแกรมเมอร์ของรายการ" 11 บท Add-ins แม่ ตัวช่วยสร้าง และไลบรารี

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเขียนโปรแกรม COM เพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
230689ตัวอย่าง: COM 2000 ของ Office Comaddin.exe เพิ่มในการเขียนใน c ++ Visual
190253นักออกแบบ VB6 ไม่ทำงานใน VB5
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาเว็บโดยใช้วิธีแก้ปัญหาสำหรับ Microsoft Internet Explorer แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn.microsoft.com/ie/
หมายเหตุเมื่อคุณเพิ่มรายการเมนู Office Word จากการ Visual Basic COM add-in ที่ โดยใช้ขั้นตอนที่ระบุไว้ในบทความนี้ หรือ โดยใช้วิธีการที่คล้ายคลึงกัน รายการเมนูไม่ทำงานตามที่คาดไว้สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
313948Word ไม่อ้างอิงถึงรายการเมนูวัตถุ COM (CommandBarControl)

คุณสมบัติ

หมายเลขบทความ (Article ID): 238228 - รีวิวครั้งสุดท้าย: 28 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft FrontPage 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
Keywords: 
kbautomation kbhowto kbmt KB238228 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:238228

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

 

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