Modifique a biblioteca VBA do Excel usando C#

Este artigo orienta sobre como modificar a biblioteca VBA Excel usando C#. Ele compartilha as configurações do IDE, uma lista de etapas e um trecho de código para adicionar módulo em uma biblioteca de código Excel VBA usando C#. Ele demonstra o acesso ao projeto VBA e a adição de módulos e código na pasta de trabalho.

Etapas para modificar a biblioteca de códigos VBA do Excel usando C#

  1. Configure o IDE para usar Aspose.Cells for .NET para adicionar módulo e código
  2. Crie um workbook, acesse uma planilha e adicione um VBA module
  3. Acesse o módulo recém-criado usando o novo índice do módulo
  4. Defina o nome e o código do módulo
  5. Salve o arquivo Excel de saída com a nova macro VBA

Estas etapas explicam o processo para adicionar módulo na biblioteca de código-fonte Excel VBA usando C#. Acesse a coleção VbaProject.Modules da pasta de trabalho selecionada e chame o método Add() para adicionar um novo módulo. Obtenha uma referência para o módulo recém-criado e defina seu nome e códigos com os valores desejados antes de salvar o arquivo XLSM resultante.

Código para atualizar a biblioteca de macros do Excel usando C#

using System;
using Aspose.Cells;
using Aspose.Cells.Vba;
class Program
{
static void Main(string[] args) // Add VBA code in Excel using C#
{
new License().SetLicense("License.lic");
// Create new workbook, access a sheet and add a VBA module
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
int moduleIndex = workbook.VbaProject.Modules.Add(worksheet);
// Access the VBA Module
VbaModule module = workbook.VbaProject.Modules[moduleIndex];
// Set module name
module.Name = "TestModule";
// Set module code
module.Codes =
@"Private Sub Worksheet_Change(ByVal Target As Range)
' Check if the changed cell is A1
If Target.Address = ""$A$1"" Then
' Check if the changed cell is not empty
If Target.Value <> """" Then
' Display a message box
MsgBox ""Text entered in cell A1: "" & Target.Value, vbInformation, ""Cell A1 Change""
End If
End If
End Sub
";
// Save the workbook
workbook.Save("output.xlsm", SaveFormat.Xlsm);
Console.WriteLine("VBA code added successfully");
}
}

Este código de exemplo demonstra como acessar a biblioteca de códigos VBA usando C# em um arquivo Excel e adicionar módulo e código. O código de exemplo no módulo exibe uma caixa de mensagem no MS Excel sempre que o valor da célula A1 é alterado. Esta caixa de mensagem contém o valor atualizado na célula, porém você pode alterar o código de acordo com sua necessidade.

Este artigo nos ensinou como adicionar macros a um arquivo Excel. Para mostrar fórmulas no Excel, consulte o artigo em como mostrar fórmulas no Excel usando C#.

 Português