ワークブックを読み込む際にVBAプロジェクトをフィルタリングする

C#でExcelワークブックを読み込む際にVBAプロジェクトをフィルタリングする

.xlsm/.xslbファイルの一部は非常に多くのマクロ(または非常に長いマクロ)を含んでいます。 Aspose.Cellsはこのようなワークブックを開く際にこの(メタ)データを無条件でロードします。そうした不要なコンテンツをスキップして複数のワークブックのシート名のみを抽出する必要がある場合は、LoadDataFilterOptionsでこれを制御する必要があります。このフィルタは、LoadDataFilterOptions.VBAを導入することで提供されます。

サンプルコード

以下のサンプルコードは、VBAのみがフィルタリングされたワークブックを読み込みます。この機能のテスト用に使用されるサンプルファイルを提供するリンクがあります。

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