Práce s makrem VBA v C#

VBA(Visual Basic for Applications) je programovací jazyk, který se používá v souborech MS Excel za účelem automatizace operací souvisejících s tabulkami. Makra VBA se používají k psaní uživatelsky definovaných funkcí, které vám umožní urychlit úkoly, které musíte provádět ručně. V tomto článku se dozvíte, jak programově pracovat s makry VBA v souborech MS Excel. Na konci tohoto článku budete moci extrahovat, přidávat a upravovat makra VBA v sešitech aplikace Excel pomocí jazyka C#.

Práce s makry VBA v souborech Excel - C# API

Aspose.Cells for .NET je knihovna tříd C#, která je navržena tak, aby automatizovala manipulaci s tabulkami z aplikací .NET. Rozhraní API poskytuje širokou škálu funkcí, které vám umožňují vytvářet, upravovat a převádět sešity MS Excel. Kromě toho API umožňuje bezproblémovou práci s makry VBA. Aspose.Cells for .NET je k dispozici pro stáhnout jako soubor DLL a také je hostován na NuGet.

PM> Install-Package Aspose.Cells

Extrahujte makra VBA ze souboru aplikace Excel pomocí C#

Začněme extrahováním maker VBA z existujícího sešitu aplikace Excel. Následují kroky k provedení této operace.

Následující ukázka kódu ukazuje, jak extrahovat makro VBA ze sešitu aplikace Excel pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Vytvořte objekt sešitu ze zdrojového souboru aplikace Excel
Workbook workbook = new Workbook("sample.xlsm");

// Extrahujte kód z každého modulu VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}

Přidejte makra VBA do souboru aplikace Excel pomocí C#

Aspose.Cells for .NET také umožňuje přidávat makra VBA do stávajících nebo nových souborů aplikace Excel. To lze provést podle níže uvedených kroků.

Následující ukázka kódu ukazuje, jak přidat makro VBA do sešitu aplikace Excel pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Vytvořit nový sešit
Workbook workbook = new Workbook();

// Přístup k prvnímu listu
Worksheet worksheet = workbook.Worksheets[0];

// Přidejte modul VBA
int idx = workbook.VbaProject.Modules.Add(worksheet);

// Otevřete modul VBA, nastavte jeho název a kódy
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";

module.Codes = "Sub ShowMessage()" + "\r\n" +
"    MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";

// Uložte sešit
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);

Úprava makra VBA v souboru aplikace Excel pomocí C#

Pomocí následujících kroků můžete také upravit existující makra jazyka VBA v souboru aplikace Excel.

Následující ukázka kódu ukazuje, jak upravit makro VBA v souboru aplikace Excel pomocí jazyka C#.

// Úplné příklady a datové soubory najdete na https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Vytvořte objekt sešitu ze zdrojového souboru aplikace Excel
Workbook workbook = new Workbook("sample.xlsm");

// Změňte kód modulu VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;

    // Nahraďte původní zprávu upravenou zprávou
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}

// Uložte výstupní soubor aplikace Excel
workbook.Save("output_out.xlsm");

Získejte bezplatnou licenci

Aspose.Cells for .NET můžete používat nebo hodnotit zdarma pomocí dočasné licence platné po dobu 30 dnů. Získejte svůj nyní.

Závěr

Makra VBA v souborech MS Excel se používají k automatizaci různých typů úloh souvisejících s tabulkami. Aby bylo možné zpracovat makra VBA programově, tento článek se zabýval tím, jak extrahovat, přidávat a upravovat kód v modulech VBA pomocí C#. Další informace o rozhraní API pro manipulaci s tabulkami C# můžete prozkoumat pomocí dokumentace.

Viz také

Tip: Možná budete chtít vyzkoušet Aspose webová aplikace pro odstranění makra ZDARMA.