Проверить, действителен ли цифровой подпись кода VBA

Проверить, действителен ли цифровая подпись кода VBA на C#

Следующий код демонстрирует использование этого свойства с образцовым файлом Excel, который вы можете загрузить по предоставленной ссылке. В этом же файле Excel имеется действительная подпись, но после изменения его кода VBA, сохранения книги и повторной проверки мы обнаружим, что его подпись стала недействительной.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Workbook workbook = new Workbook(dataDir + "sampleVBAProjectSigned.xlsm");
// Signature is valid
Console.WriteLine("Is VBA Code Project Valid Signed: " + workbook.VbaProject.IsValidSigned);
// Modify the VBA Code, save the workbook then reload
// VBA Code Signature will now be invalid
string code = workbook.VbaProject.Modules[1].Codes;
code = code.Replace("Welcome to Aspose", "Welcome to Aspose.Cells");
workbook.VbaProject.Modules[1].Codes = code;
// Save
workbook.Save(dataDir + "output_out.xlsm");
// Reload
workbook = new Workbook(dataDir + "output_out.xlsm");
// Now the signature is invalid
Console.WriteLine("Is VBA Code Project Valid Signed: " + workbook.VbaProject.IsValidSigned);