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
- Configure o IDE para usar Aspose.Cells for Java para trabalhar com VBA
- Instancie um objeto Workbook, acesse um sheet e adicione um módulo para a planilha selecionada
- Acesse o novo módulo na pasta de trabalho e defina seu nome
- Escreva e teste um código VBA e use-o como propriedade de códigos no módulo
- 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.