Adicionar módulo na biblioteca Excel VBA em Java

Este artigo orienta como adicionar módulo na biblioteca VBA Excel em Java. Ele contém os detalhes para definir o ambiente de desenvolvimento, uma lista de tarefas de programação e um código de amostra que demonstra a adição de um módulo na biblioteca de códigos VBA em Java. Você também aprenderá a definir diversas propriedades do módulo, como o código VBA que exibe o desenvolvimento de uma macro para um arquivo Excel.

Etapas para modificar a biblioteca de códigos VBA do Excel em Java

  1. Configure o IDE para usar Aspose.Cells for Java para trabalhar com VBA
  2. Instancie um objeto Workbook, acesse um sheet e adicione um módulo para a planilha selecionada
  3. Acesse o novo módulo na pasta de trabalho e defina seu nome
  4. Escreva e teste um código VBA e use-o como propriedade de códigos no módulo
  5. Salve o arquivo Excel de saída como XLSM no disco ou fluxo, se necessário

Estas etapas resumem o processo de fazer adições à biblioteca de código-fonte Excel VBA em Java. O processo é simples, pois requer uma planilha de uma pasta de trabalho para adicionar um novo VbaModule e, em seguida, definir algumas propriedades nele. Defina os códigos de propriedade com código VBA multilinha para tornar a macro operacional.

Código para adicionar código na biblioteca de macros do Excel em Java

import com.aspose.cells.*;
public class Main
{
public static void main(String[] args) throws Exception // Add VBA Code in Java
{
// Set the licenses
new License().setLicense("License.lic");
// Create a workbook
Workbook wb = new Workbook();
// Select a sheet
Worksheet ws = wb.getWorksheets().get(0);
// Add VBA Module and get its reference
int idx = wb.getVbaProject().getModules().add(ws);
VbaModule module = wb.getVbaProject().getModules().get(idx);
// Assign a name to the module
module.setName("SetGreenEven");
// Set code for the module
module.setCodes("""
Private Sub Worksheet_Change(ByVal Target As Range)
' Verify if updated cell is within a specified range
If Not Intersect(Target, Range("A1:Z100")) Is Nothing Then
' Loop through all cells
For Each Cell In Target
' Check the cell value and apply formatting accordingly
If Cell.Value >= 80 Then
Cell.Interior.Color = RGB(0, 255, 0) ' Green
ElseIf Cell.Value >= 50 And Cell.Value < 80 Then
Cell.Interior.Color = RGB(255, 165, 0) ' Orange
ElseIf Cell.Value < 50 Then
Cell.Interior.Color = RGB(152, 133, 88) ' Dark Tan
Else
' Reset the background color if none of the conditions are met
Cell.Interior.ColorIndex = xlNone
End If
Next Cell
End If
End Sub
""");
// Save the output
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM);
System.out.println("Done");
}
}

Este trecho de código mostra como acessar a biblioteca de código VBA em Java e adicionar um módulo com código nele. Neste código de exemplo, definimos o nome e o código que altera a cor das células de acordo com o intervalo de valores definido no código VBA. Você pode adicionar um módulo usando outro método sobrecarregado que usa o valor do enumerador VbaModuleType como um argumento que inclui CLASS, DESIGNER, DOCUMENT e PROCEDURAL.

Este artigo nos ensinou como criar uma nova macro em um arquivo Excel. Para aplicar formatação condicional no Excel, consulte o artigo em Aplicar formatação condicional no Excel usando Java.

 Português