You can do it with Microsoft Office Tools. In the assembly Microsoft.Office.Tools.Excel.v4.0.Utilities you will find that the WorkbookBase class has a Signatures property that returns a collection. WorkbookBase documentation is here. In particular Signatures is defined as
Gets the collection of digital signatures for the workbook
Since it is a collection you can iterate over it or use the Count property to determine how many digital signatures are present. The collection is a SignatureSet and documentation on it can be found in the documentation at this link. Count is defined as:
Returns an Integer indicating the number of items in the specified collection.
You can use the regular Microsoft.Office.Interop.Excel assembly and the normal Workbook class to determine if the VBA code has been signed via the VBASigned property on a Workbook object. Information on that property can be found here.
Gets a value that indicates whether the Visual Basic for Applications project for the workbook has been digitally signed.
Assuming you are using C# and the Microsoft.Office.Interop.Excel assembly has been added as a reference in your VS C# project then code like this would open your workbook and get the VBASigned boolean flag:
using Excel = Microsoft.Office.Interop.Excel;
[snip]
Excel.Application exApp = new Excel.Application();
Excel.Workbook exWbk = exApp.Workbooks.Open(@"c:\path\to\your\workbook.xls");
Boolean signed = exWbk.VBASigned;
exWbk.Close();
// When finished make sure we release the Interop COM objects we used
Marshal.ReleaseComObject(exWbk);
Marshal.ReleaseComObject(exApp);