Filtrera VBA projekt vid inläsning av en arbetsbok

Filtrera VBA-projekt vid inläsning av en Excel-arbetsbok i C#

Vissa .xlsm/.xslb-filer har en extremt stor mängd makron (eller mycket, mycket långa makron). Aspose.Cells kommer ovillkorligen att ladda denna (meta)data när sådana arbetsböcker öppnas. Du kan behöva kontrollera detta via LoadDataFilterOptions när du verkligen bara behöver extrahera kalkylbladsnamn för ett stort antal arbetsböcker och därmed hoppa över sådana onödiga innehåll. Denna filtrering tillhandahålls genom att införa ett nytt alternativ, LoadDataFilterOptions.VBA.

Exempelkod

Följande exempelkod laddar en arbetsbok så att endast VBA filtreras. En testfil för att testa denna funktion kan hämtas från följande länk:

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);