Sdílet prostřednictvím


Návod: Volání kódu z jazyka VBA v projektu jazyka Visual Basic

Tento návod ukazuje, jak volat metodu přizpůsobení úroveň dokument aplikace Microsoft Office Word z Visual Basic pro Applications (VBA) kód v dokumentu.Postup zahrnuje tři základní kroky: Přidat metodu k ThisDocument hostitel položky třídy vystavit metodu do kódu jazyka VBA a potom zavolejte metodu z kódu jazyka VBA v dokumentu.

Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v těchto aplikacích: Excel 2013 a Excel 2010; Word 2013 a Word 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.

Přestože tento návod používá aplikace Word konkrétně prokázat návodu koncepty platí také pro projekty na úrovni dokumentu aplikace Excel.

Tento návod ilustruje následující úkoly:

  • Vytvoření dokumentu, který obsahuje kód jazyka VBA.

  • Důvěřující umístění dokumentu pomocí Centra zabezpečení v aplikaci Word.

  • Přidání metody do ThisDocument hostitel položky třídy.

  • Vystavení metodu do kódu jazyka VBA.

  • Volání metody z kódu jazyka VBA.

[!POZNÁMKA]

Váš počítač může zobrazit jiné názvy nebo umístění pro některé prvky uživatelského rozhraní sady Visual Studio v následujících pokynech.Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením.Další informace naleznete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

odkaz na video Související video ukázku naleznete v tématu jak udělat I: volání VSTO kód VBA?.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

Vytvoření dokumentu, který obsahuje kód jazyka VBA

Prvním krokem je vytvoření makra povolena dokumentu, který obsahuje jednoduché makra VBA.Dokument musí obsahovat projekt VBA vytvořit projekt aplikace Visual Studio, který je založen na dokumentu.Visual Studio, jinak nelze změnit projekt VBA povolit kód VBA k volání do vlastního sestavení.

Máte-li již dokument obsahující kód VBA, který chcete použít, můžete tento krok přeskočit.

Vytvořit dokument, který obsahuje kód jazyka VBA

  1. Spusťte aplikaci Word.

  2. Aktivní dokument uložit jako slovo Dokument s podporou maker (*.docm) s názvem DocumentWithVBA.Uložte na vhodné místo, například na plochu.

  3. Na pásu karet klepněte Developer kartu.

    [!POZNÁMKA]

    Pokud Developer kartě není viditelná, musíte nejprve zobrazit.Další informace naleznete v tématu Postupy: Zobrazení karty Vývojář na pásu karet.

  4. V kód skupinu, klepněte na jazyka Visual Basic.

    Otevře se Editor jazyka Visual Basic.

  5. V projektu okno, poklepejte na ThisDocument.

    Soubor kódu ThisDocument otevře objekt.

  6. Přidejte následující kód VBA soubor kódu.Tento kód definuje jednoduché funkce, která nemá žádnou.Jediným účelem této funkce je zajistit, že existuje projekt VBA v dokumentu.To je vyžadováno pro pozdější kroky v tomto návodu.

    Sub EmptySub()
    End Sub
    
  7. Uložte dokument a ukončete aplikaci Word.

Vytváření projektu

Nyní můžete vytvořit projekt úroveň dokumentu pro slovo, které používá dříve vytvořený dokument s podporou maker.

Vytvoření nového projektu

  1. Spusťte nástroj Visual Studio.

  2. V nabídce File (Soubor) přejděte na příkaz New (Nový) a klepněte na příkaz Project (Projekt).Pokud vaše IDE nastavena na nastavení vývoje Visual Basic, použijte na soubor nabídky, klepněte na Nový projekt.

  3. Rozbalte v podokně šablony jazyka Visual Basica potom rozbalte Office/SharePoint.

  4. Vyberte Doplňky sady Office uzlu.

  5. Vyberte v seznamu šablon projektu Dokument aplikace Word 2010 nebo 2013 dokumentu aplikace Word projektu.

  6. V název zadejte CallingCodeFromVBA.

  7. Klikněte na tlačítko OK.

    Visual Studio Tools for Office Project Průvodce otevře.

  8. Vyberte zkopírovat existující dokumenta v úplnou cestu k existující dokument zadejte umístění, DocumentWithVBA dokumentu, který jste vytvořili dříve.Pokud používáte makra povolena dokumentu, zadejte umístění tohoto dokumentu.

  9. Klepněte na tlačítko Dokončit.

    Visual StudioOtevře DocumentWithVBA dokumentu v návrháři a přidá CallingCodeFromVBA projektu Průzkumníku.

Důvěřující umístění dokumentu

Před kód můžete vystavit v řešení kódu VBA dokumentu, musí důvěřovat VBA dokumentu spustit.To provést několika způsoby.V tomto návodu důvěryhodných umístění dokumentu Centra v aplikaci Word.

Důvěryhodných umístění dokumentu

  1. Spusťte aplikaci Word.

  2. Klepněte soubor kartu.

  3. Klepněte Možností aplikace tlačítko.

  4. V podokně kategorie na Centra.

  5. V podokně podrobností klepněte na Nastavení Centra zabezpečení.

  6. V podokně kategorie na Důvěryhodných umístění.

  7. V podokně podrobností klepněte na Přidat nové umístění.

  8. V Microsoft Office důvěryhodné umístění dialogové okno, vyhledejte složku, která obsahuje projekt CallingCodeFromVBA.

  9. Vyberte podsložky tohoto umístění jsou také důvěryhodné.

  10. V Microsoft Office důvěryhodné umístění dialogové okno, klepněte na OK.

  11. V Centra dialogové okno, klepněte na OK.

  12. V Možností aplikace dialogové okno, klepněte na OK.

  13. Ukončete aplikaci Word.

Přidání metody do třídy ThisDocument

Projekt VBA je nastaven, přidat metodu k ThisDocument hostitele třídy položky, které lze volat z kódu jazyka VBA.

Přidat metodu třídy ThisDocument

  1. V Průzkumníku, klepněte pravým tlačítkem ThisDocument.vba klepněte na tlačítko Zobrazení kódu.

    ThisDocument.vb soubor se otevře v editoru kódu.

  2. Přidejte následující metodu ThisDocument třídy.Tato metoda vytvoří tabulku se dvěma řádky a dva sloupce na začátku dokumentu.Parametry zadejte text, který se zobrazí v prvním řádku.Dále v tomto návodu bude tuto metodu volat z kódu jazyka VBA v dokumentu.

    Public Sub CreateTable(ByVal firstColumnHeader As String, _
        ByVal secondColumnHeader As String)
    
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim table1 As Word.Table = Me.Tables.Add(Me.Paragraphs(1).Range, 2, 2)
    
        With table1
            .Style = "Table Professional"
            .Cell(1, 1).Range.Text = firstColumnHeader
            .Cell(1, 2).Range.Text = secondColumnHeader
        End With 
    End Sub
    
  3. Projekt sestavte.

Vystavení metodu do kódu jazyka VBA

Vystavit CreateTable metodu do kódu jazyka VBA v dokumentu, nastavit EnableVbaCallers vlastnost ThisDocument položku hostitele True.

Vystavit metodu do kódu jazyka VBA

  1. V Průzkumníku, poklepejte na ThisDocument.vb.

    DocumentWithVBA soubor se otevře v návrháři.

  2. V Vlastnosti vyberte EnableVbaCallers vlastnost a změňte hodnotu na True.

  3. Klepněte na OK v zobrazené zprávě.

  4. Projekt sestavte.

Volání metody z kódu jazyka VBA

Nyní můžete volat CreateTable metody z kódu jazyka VBA v dokumentu.

[!POZNÁMKA]

V tomto návodu přidáte kód VBA dokumentu při ladění projektu.Kód jazyka VBA, které přidáte do tohoto dokumentu bude přepsán při příštím sestavení projektu, protože Visual Studio nahradí kopii dokumentu ze složky hlavní projekt dokumentu ve výstupní složce sestavení.Pokud chcete uložit kód VBA, zkopírujte jej do dokumentu ve složce projektu.Další informace naleznete v tématu Kombinování přizpůsobení na úrovních VBA a dokumentu.

Volání metody z kódu jazyka VBA

  1. Stisknutím klávesy F5 spustit projektu.

  2. Na Developer v kartě kód skupinu, klepněte na Visual Basic.

    Otevře se Editor jazyka Visual Basic.

  3. Na Vložení nabídky, klepněte na modulu.

  4. Přidejte následující kód do nového modulu.

    Tento kód volá CreateTable metodu v sestavení vlastního nastavení.Makro přistupuje pomocí této metody CallVSTOAssembly vlastnost ThisDocument objektu.Tato vlastnost byla automaticky generována při nastavení EnableVbaCallers vlastnost dříve v tomto návodu.

    Sub CreateTable()
        Call ThisDocument.CallVSTOAssembly.CreateTable("Employee Name", "Start Date")
    End Sub
    
  5. Stisknutím klávesy F5.

  6. Ověřte, že nové tabulky byla přidána do dokumentu.

  7. Ukončete aplikaci Word bez uložení změn.

Další kroky

Další informace o volání kódu v řešeních Office z VBA v těchto tématech:

Viz také

Úkoly

Postupy: Vystavení kódu v projektu jazyka Visual Basic pro jazyk VBA

Postupy: Vystavení kódu v projektu jazyka Visual C# pro jazyk VBA

Návod: Volání kódu z jazyka VBA v projektu jazyka Visual C#

Další zdroje

Kombinování přizpůsobení na úrovních VBA a dokumentu

Programování přizpůsobení na úrovni dokumentu