Filtrer le projet VBA lors du chargement d un classeur

Filtrer le projet VBA lors du chargement d’un classeur Excel en Python

Certains fichiers .xlsm/.xslb contiennent un nombre extrêmement élevé de macros (ou des macros très longues). Aspose.Cells pour Python via .NET chargera inconditionnellement ces données (métadonnées) lors de l’ouverture de tels classeurs. Vous pouvez nécessiter un contrôle via LoadDataFilterOptions lorsque vous avez simplement besoin d’extraire les noms des feuilles pour un grand nombre de classeurs, en ignorant ainsi le contenu non nécessaire. Ce filtre est fourni en introduisant une nouvelle option, LoadDataFilterOptions.VBA.

Code d’exemple

Le code d’exemple suivant charge un classeur de telle sorte que seul le VBA est filtré. Un fichier exemple pour tester cette fonctionnalité peut être téléchargé à partir du lien suivant :

sampleMacroEnabledWorkbook.xlsm

from aspose.cells import LoadDataFilterOptions, LoadFilter, LoadFormat, LoadOptions, SaveFormat, Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Set the load options, we do not want to load VBA
loadOptions = LoadOptions(LoadFormat.AUTO)
loadOptions.load_filter = LoadFilter(LoadDataFilterOptions.ALL & ~LoadDataFilterOptions.VBA)
# Create workbook object from sample excel file using load options
book = Workbook(sourceDir + "sampleMacroEnabledWorkbook.xlsm", loadOptions)
# Save the output in pdf format
book.save(outputDir + "OutputSampleMacroEnabledWorkbook.xlsm", SaveFormat.XLSM)