Ce guide rapide explique le processus pour ajouter du code dans la bibliothèque VBA Excel à l’aide de Python. Il contient des détails pour configurer l’EDI pour le développement, une liste d’étapes définissant les tâches de programmation et un exemple de code montrant comment bibliothèque de macros Excel à l’aide de Python. Vous apprendrez à accéder à la bibliothèque VBA et à ajouter des modules/codes selon les exigences.
Étapes pour ajouter une bibliothèque de code source Excel VBA à l’aide de Python
- Configurez l’EDI pour qu’il utilise Aspose.Cells pour Python via Java pour mettre à jour la bibliothèque VBA.
- Créez un objet Workbook, accédez à une feuille et ajoutez un nouveau module
- Accédez au module nouvellement créé en utilisant l’index renvoyé lors de la création du module
- Définir le nom du module
- Définir le code pour le module
- Enregistrez le fichier Excel résultant au format XLSM
Ces étapes résument le processus pour accéder à la bibliothèque de code VBA à l’aide de Python et ajouter des modules. Commencez le processus en créant ou en chargeant un classeur, en sélectionnant une feuille de calcul et en ajoutant un module et du code au projet VBA. Enfin, définissez le nom et les codes dans le module nouvellement créé et enregistrez le fichier XLSM sur le disque.
Code pour mettre à jour la bibliothèque de code VBA à l’aide de Python
import jpype | |
import asposecells as cells | |
jpype.startJVM() | |
from asposecells.api import License, Workbook, SaveFormat | |
# Instantiate a license | |
license = License() | |
license.setLicense("License.lic") | |
# Create a workbook | |
wb = Workbook() | |
# Select a sheet | |
ws = wb.getWorksheets().get(0) | |
# Add VBA Module and get its reference | |
idx = wb.getVbaProject().getModules().add(ws) | |
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) | |
Dim ws As Worksheet | |
Dim cell As Range | |
' Set the active sheet | |
Set ws = ActiveSheet | |
' Check if the changed cells have even numeric values | |
For Each cell In Target | |
If IsNumeric(cell.Value) And cell.Value Mod 2 = 0 Then | |
' Set the background color to green | |
cell.Interior.Color = RGB(0, 255, 0) ' RGB for green | |
Else | |
' If the value is not even, reset the background color to default (optional) | |
cell.Interior.ColorIndex = xlNone | |
End If | |
Next cell | |
End Sub | |
""") | |
# Save the output | |
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM) | |
print("VBA Module with code added successfully!!!") |
Cet exemple de code montre le processus d’ajout d’un module avec du code dans la bibliothèque de code Excel VBA à l’aide de Python. Cet exemple de code VBA modifie la couleur d’arrière-plan de chaque cellule en vert lorsque vous entrez un nombre pair dans la cellule. Vous pouvez définir le type de module Vba sur PROCEDURAL, DOCUMENT, CLASS ou DESIGNER.
Cet article a couvert le processus d’ajout d’une macro à un fichier Excel. Si vous souhaitez déprotéger un fichier Excel, référez-vous à l’article sur Comment déprotéger Excel en Python.