Filtern Sie VBA-Projekte beim Laden einer Arbeitsmappe

Filtern Sie VBA-Projekt beim Laden einer Excel-Arbeitsmappe in C#

Einige .xlsm/.xslb-Dateien enthalten extrem viele Makros (oder sehr, sehr lange Makros). Aspose.Cells lädt diese (Meta-)Daten beim Öffnen solcher Arbeitsmappen bedingungslos. Möglicherweise müssen Sie dies jedoch kontrollierenLoadDataFilterOptions wenn Sie wirklich nur Blattnamen für eine große Anzahl von Arbeitsmappen extrahieren müssen, wodurch solche nicht benötigten Inhalte übersprungen werden. Dieser Filter wird durch die Einführung einer neuen Option bereitgestellt,LoadDataFilterOptions.VBA.

Beispielcode

Der folgende Beispielcode lädt eine Arbeitsmappe, sodass nur VBA gefiltert wird. Eine Beispieldatei zum Testen dieser Funktion kann unter folgendem Link heruntergeladen werden:

sampleMacroEnabledWorkbook.xlsm

// 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 = new LoadOptions(LoadFormat.Auto);
loadOptions.LoadFilter = new LoadFilter(LoadDataFilterOptions.All & ~LoadDataFilterOptions.VBA);
// Create workbook object from sample excel file using load options
Workbook book = new Workbook(sourceDir + "sampleMacroEnabledWorkbook.xlsm", loadOptions);
// Save the output in pdf format
book.Save(outputDir + "OutputSampleMacroEnabledWorkbook.xlsm", SaveFormat.Xlsm);