Ako Vybuduj COM doplnok balíka Office pomocou programu Visual Basic.NET

Preklady článku Preklady článku
ID článku: 302896 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Microsoft Office 2000 a neskôr podporu nový, jednotné dizajn architektúry pre budovanie uplatňovanie doplnky na zvýšenie a kontrolu Kancelárske aplikácie. Tieto doplnky sa označujú ako doplnky COM. Tento podrobný článok pojednáva o doplnky Office COM a popisuje, ako vybudovať Office COM doplnok pomocou jazyka Microsoft Visual Basic.NET.

Rozhranie IDTExensibility2

COM doplnok je v procesom servera, alebo ActiveX dynamická odkaz knižnica (DLL), ktorá implementuje IDTExensibility2 rozhranie, ako je opísané v typu Microsoft Add-in Designer knižnica (Msaddndr.dll). Všetky doplnky COM dedia z tohto rozhrania a musia implementovať každej z jeho piatich metód.

OnConnection

The OnConnection udalosť požiare kedykoľvek doplnok COM je pripojený. Doplnok môže byť po spustení pripojený, koncový používateľ, alebo prostredníctvom Automatizácie. Ak OnConnection Vráti úspešne, doplnok je povedal, aby sa naložené. Ak sa vráti chybové hlásenie, okamžite hostiteľská aplikácia vydania jeho odkaz na doplnok a objekt sa zničí.

OnConnection berie nasledujúce štyri parametre:
  • Uplatňovanie -Odkaz na objekt application hostiteľa.
  • ConnectMode -Konštanta, ktorý určuje, ako doplnok je pripojený. The doplnok môže byť pripojený nasledovnými spôsobmi:
    • ext_cm_AfterStartup -Doplnok je spustená konečným užívateľom z Doplnky COM dialógové okno.
    • ext_cm_CommandLine -Doplnok je pripojený z príkazového riadka. Poznámka to nevzťahuje sa na budovaní doplnky COM pre aplikácie balíka Office.
    • ext_cm_External -Doplnok je pripojený Externá aplikácia prostredníctvom Automatizácie. Všimnite si, že toto sa neuplatňuje na budovaní doplnky COM pre balík Office aplikácie.
    • ext_cm_Startup -Doplnok je spustená hostiteľom pri spustení aplikácie. Toto správanie sa riadi nastavením databázy registry.
  • AddInInst -Odkaz na COMAddIn objekt, ktorý sa vzťahuje na tento doplnok v COMAddIns zhromažďovanie hostiteľská aplikácia.
  • Vlastné -Pole Variant Zadajte hodnoty, ktoré môžete uchovať užívateľské dáta.

OnDisconnection

The OnDisconnection udalosť požiare keď doplnok COM odpojí a krá uvoľní z pamäte. Doplnok by mali vykonávať akékoľvek čistenie zdrojov v tejto udalosti a mali obnoviť všetky zmeny vykonané Hostiteľská aplikácia.

OnDisconnection berie tieto dve parametre:
  • RemoveMode -Konštanta, ktorý určuje, ako doplnok bol odpojený. The doplnok môže byť odpojený nasledovnými spôsobmi:
    • ext_dm_HostShutdown -Doplnok je odpojená keď hostiteľská aplikácia zatvorený.
    • ext_dm_UserClosed -Doplnok je odpojená koncového používateľa alebo automatizácia radič.
  • Vlastné -Pole Variant Zadajte hodnoty, ktoré môžete uchovať užívateľské dáta.

OnAddInsUpdate

The OnAddInsUpdate udalosť požiare, keď súbor registrované COM doplnky zmeny. Inými slovami, kedykoľvek COM doplnok je nainštalované alebo odstránené z hostiteľa aplikácie, táto udalosť požiare.

OnStartupComplete a OnBeginShutdown

Obe OnStartupComplete a OnBeginShutdown metódy sa nazývajú keď hostiteľská aplikácia opustil alebo vstupuje štát v ktorý používateľ interakcia by sa malo zabrániť, pretože aplikácia je zaneprázdnená nakládky alebo vykládky sám z pamäte. OnStartupComplete je volaná iba ak doplnok bol pripojený počas spustenia, a OnBeginShutdown je volaná iba ak hostiteľského odpojí doplnok počas vypnutia.

Pretože používateľského rozhrania Hostiteľská aplikácia je plne aktívnym, keď tieto udalosti požiaru, môžu byť jediný spôsob, ako vykonávať určité činnosti, ktoré by sa inak nedostupné z OnConnection a OnDisconnection.

Doplnok COM registrácie

Popri bežných registráciu COM, COM doplnok potrebuje sám zaregistruje každá aplikácia balíka Office, v ktorom beží. Registrovať sama s konkrétny aplikácie, doplnok by mali vytvoriť podkľúč, pomocou jeho ProgID ako názov kľúča, podľa nasledovného umiestnenia:
HKEY_CURRENT_USER\Software\Microsoft\Office\OfficeApp\Addins\ProgID
Doplnok môže poskytnúť hodnoty toto kľúčové umiestnenie pre priateľské zobrazované meno a úplný opis. Okrem toho, doplnok by mali špecifikovať jeho požadovaný zaťaženie správania pomocou hodnotu DWORD s názvom
LoadBehavior
. Táto hodnota určuje, ako doplnok načítať hostiteľského žiadosti, a skladá sa z kombinácie nasledujúcich hodnôt:
  • 0 = Odpojiť - nie je zavedený.
  • 1 = Pripojené - je načítaný.
  • 2 = Bootload - zaťaženie pri štarte aplikácie.
  • 8 = DemandLoad - zaťaženie iba vtedy, ak o to požiada používateľ.
  • 16 = ConnectFirstTime - zaťaženie len raz (ďalej pri spustení).
Typická hodnota zadaná je 0x03 (pripojené | Bootload).

Doplnky, ktoré implementujú IDTExtensibility2 by malo tiež vyšpecifikovať hodnotu DWORD s názvom
CommandLineSafe
na Uveďte, či doplnky sú bezpečné pre operácie, ktoré nepodporujú používateľ rozhranie. Hodnota 0x00 označuje False, a hodnota 0x01 označuje pravda.

Ako Vybuduj COM doplnok pomocou jazyka Visual Basic.NET

Ako už bolo spomenuté, doplnok programu Office COM je v procese COM Server, ktorý je vyvolaný aplikácie balíka Office prostredníctvom COM run-time vrstva. Preto sa rozvíja COM doplnok v jazyku Visual Basic.NET vyžaduje, aby doplnok súčasť realizované vo.NET a potom vystavené COM klientov (to znamená, Kancelárske aplikácie) cez COM objektovému vrstvu.

Ak chcete vytvoriť COM doplnok v jazyku Visual Basic.ČISTÁ, postupujte nasledovne:
  1. V jazyku Visual Basic.ČISTÁ, vytvoriť knižnicu triedy projekt.
  2. Pridať odkaz na druh knižnica, ktorá implementuje IDTExtensibility2. Primárne objektovému zhromaždenia pre toto je už k dispozícii pod názov Rozšíriteľnosť.
  3. Pridať odkaz na Objektová knižnica balíka Microsoft Office. The primárne objektovému zhromaždenia pre toto je už k dispozícii pod názvom Úrad.
  4. Vytvoriť verejné triedy v triedy knižnica, ktorá implementuje IDTExtensibility2.
  5. Po triedy knižnica je postavená, zaregistrovať knižnicu pre COM interop. Vykonáte to generovať silný, s názvom montáž pre túto triedu Knižnica a potom ho zapísať s COM interop. Môžete použiť Regasm.exe na zaregistrovať.ČISTÉ zložky pre COM interop.
  6. Vytvoriť položky databázy registry, aby aplikácie balíka Office môžete rozpoznať a načítajte doplnok.
Môžete vybrať dokončiť všetky tieto kroky, alebo môžete vytvoriť.ČISTÝ projekt typu Zdieľané doplnok programu. Spustí Sprievodcu rozšíriteľnosti, ktorý vám pomôže vytvoriť COM doplnok v.NET.

Rozšíriteľnosť sprievodca vytvorí vizuálne Základné.Projekt Knižnica čistá trieda spolu s Pripojte trieda, ktorá implementuje IDTExtensibility2 rozhranie. Kostra kód, ktorý implementuje prázdne členov IDTExtensibility tiež vygenerovaný. Tento projekt má odkazy na rozšíriteľnosť a úrad zostavy. Vybudovať nastavenia projektu Zaregistrujte sa na COM Interop vybratá. Zhromaždenie kľúč (.snk) súbor sa generuje a Odkazovaný v AssemblyKeyfile atribút v Assemblyinfo.vb.

Spolu s triedy projekt knižnica, Sprievodca vytvára inštalačný projekt, ktorý môžete použiť na nasadenie COM doplnok na iných počítačoch. Tento projekt môže odstrániť, ak požadovanú.

Podrobný príklad

  1. Na Súbor menu v Microsoft Visual Studio.ČISTÉ, kliknite Nové, a potom kliknite na tlačidlo Projekt.
  2. V Nový projekt dialógové okno, rozbaľte položku Iné projekty podľa Projekt typy, vyberte Rozšíriteľnosť projektov, a potom vyberte Zdieľané doplnok šablóna.
  3. Typ MyCOMAddin ako názov doplnok a potom kliknite na tlačidlo ok.
  4. Keď sa zobrazí sprievodca rozšíriteľnosť, postupujte nasledovne:
    1. Na strane 1, vyberte Vytvoriť pridať v pomocou Visual Basic, a potom kliknite na tlačidlo Budúci.
    2. Na strane 2, vyberte nasledujúce hostiteľa aplikácie, a kliknite na tlačidlo Budúci:
      • Program Microsoft Word
      • Program Microsoft PowerPoint
      • Program Microsoft Outlook
      • Program Microsoft Excel
      • Programu Microsoft Access
    3. Na strane 3, poskytne meno a popis doplnok a potom kliknite na tlačidlo Budúci.

      Poznámka Názov a opis doplnok zobrazia v Doplnok COM dialógové okno v aplikácia balíka Office.

    4. Na strane 4, vyberte všetky dostupné možnosti, a potom kliknite na tlačidlo Budúci.
    5. Kliknite na tlačidlo Dokončiť.
  5. Pridať nasledujúce člena, aby Pripojte trieda:
    Dim WithEvents MyButton As CommandBarButton 
  6. Implementovať kód pre všetkých členov IDTExtensibility2 v Pripojte trieda, takto:
        Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown
            On Error Resume Next
            ' Notify the user you are shutting down, and delete the button.
            MsgBox("Our custom Add-in is unloading.")
            MyButton.Delete()
            MyButton = Nothing
    
        End Sub
    
        Public Sub OnAddInsUpdate(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnAddInsUpdate
            '
        End Sub
    
        Public Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete
    
            Dim oCommandBars As CommandBars
            Dim oStandardBar As CommandBar
    
            On Error Resume Next
            ' Set up a custom button on the "Standard" command bar.
            oCommandBars = applicationObject.CommandBars
            If oCommandBars Is Nothing Then
                ' Outlook has the CommandBars collection on the Explorer object.
                oCommandBars = applicationObject.ActiveExplorer.CommandBars
            End If
    
            oStandardBar = oCommandBars.Item("Standard")
            If oStandardBar Is Nothing Then
                ' Access names its main toolbar Database.
    
                oStandardBar = oCommandBars.Item("Database")
    
            End If
    
            ' In case the button was not deleted, use the exiting one.
            MyButton = oStandardBar.Controls.Item("My Custom Button")
            If MyButton Is Nothing Then
    
                MyButton = oStandardBar.Controls.Add(1)
                With MyButton
                    .Caption = "My Custom Button"
                    .Style = MsoButtonStyle.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 more than
                    ' one application window is 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, so that if
                    ' the add-in is not loaded when a user clicks 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 show which application you started in.
            MsgBox("Started in " & applicationObject.Name & ".")
    
    
            oStandardBar = Nothing
            oCommandBars = Nothing
    
    
        End Sub
    
        Public Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection
    
            On Error Resume Next
            If RemoveMode <> Extensibility.ext_DisconnectMode.ext_dm_HostShutdown Then _
               Call OnBeginShutdown(custom)
    
            applicationObject = Nothing
    
    
        End Sub
    
        Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
    
    
            MsgBox("On Connection In MyAddin")
            applicationObject = application
            addInInstance = addInInst
    
    
            ' If you aren't in startup, manually call OnStartupComplete.
            If (connectMode <> Extensibility.ext_ConnectMode.ext_cm_Startup) Then _
               Call OnStartupComplete(custom)
    
        End Sub
    
    
        Private Sub MyButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles MyButton.Click
            MsgBox("Our CommandBar button was pressed!")
        End Sub
    					
  7. Vybudovať a test doplnok COM. Chcete urobiť, postupujte podľa týchto kroky:
    1. Na Vybudovať ponuky, kliknite na tlačidlo Vybudovať MyCOMAddin. Všimnite si, že budovanie COM doplnok registrov.ČISTÁ trieda s COM interop.
    2. Spustiť jednu z aplikácií balíka Office, ktorý ste vybrali ako hostiteľa aplikácie pre doplnok (napríklad Microsoft Word alebo Microsoft Excel).
    3. Po spustení doplnok, OnConnection udalosť je padáka, a zobrazí sa okno s hlásením. Keď ste odmietol v okne s hlásením, OnStartupComplete udalosť požiare, a budete dostávať druhé okno s hlásením. Zamietol okno s hlásením.
    4. Všimnite si, že doplnok pridá nové vlastné tlačidlo s titulky "Moje vlastné tlačidlo" na paneli s nástrojmi Štandardný.
    5. Kliknite na tlačidlo Moje vlastné tlačidlo. The Kliknite na tlačidlo udalosť tlačidla spracuje doplnok a dostanete okno s hlásením. Zamietnuť v okne s hlásením.
    6. Ukončite aplikácie balíka Office.
    7. Keď ukončíte aplikáciu, OnBeginShutDownudalosť požiare, a budete dostávať okno s hlásením. Zamietol v okne s hlásením na konci demonštrácie.

ODKAZY

Pre Ďalšie informácie o písaní doplnky COM kliknutím na číslo článku nižšie, čím zobrazíte článok v databáze Microsoft Knowledge Base:
190253 INFO: VB6 návrhári nefungujú v VB5
Ďalšie informácie o vývoji riešení založených na Web pre program Microsoft Internet Explorer, nájdete na nasledovných webových lokalitách spoločnosti Microsoft:
http://msdn2.Microsoft.com/en-US/IE/default.aspx

http://support.Microsoft.com/IEP
(c) Microsoft Corporation 2001, všetky práva vyhradené. Príspevky Ranjit R. Sawant, Microsoft Corporation.

Vlastnosti

ID článku: 302896 - Posledná kontrola: 31. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
Kľúčové slová: 
kbautomation kbhowtomaster kbmt KB302896 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:302896

Odošlite odozvu

 

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