At some point, programmers may need to determine if an Excel file contains VBA macros. This article is going to show you how to programmatically determine if an Excel file contains VBA macros in C# and VB.NET using Spire.XLS.
Detail steps:
Step 1: Instantiate a Workbook object and load the Excel file.
Workbook workbook = new Workbook(); workbook.LoadFromFile("Macro.xlsm");
Step 2: Determine if the Excel file contains VBA macros.
bool hasMacros = false; hasMacros = workbook.HasMacros; if (hasMacros) { Console.WriteLine("The file contains VBA macros"); } else { Console.WriteLine("The file doesn't contain VBA macros"); }
Screenshot:
Full code:
[C#]
using System; using Spire.Xls; namespace Determine_if_Excel_file_contains_macros { class Program { static void Main(string[] args) { //Instantiate a Workbook object Workbook workbook = new Workbook(); //Load the Excel file workbook.LoadFromFile("Macro.xlsm"); bool hasMacros = false; //Determine if the Excel file contains VBA macros hasMacros = workbook.HasMacros; if (hasMacros) { Console.WriteLine("The file contains VBA macros"); } else { Console.WriteLine("The file doesn't contain VBA macros"); } Console.ReadKey(); } } }
[VB.NET]
Imports System Imports Spire.Xls Namespace Determine_if_Excel_file_contains_macros Class Program Private Shared Sub Main(ByVal args As String()) Dim workbook As Workbook = New Workbook() workbook.LoadFromFile("Macro.xlsm") Dim hasMacros As Boolean = False hasMacros = workbook.HasMacros If hasMacros Then Console.WriteLine("The file contains VBA macros") Else Console.WriteLine("The file doesn't contain VBA macros") End If Console.ReadKey() End Sub End Class End Namespace