Проверить, действителен ли цифровой подпись кода VBA
Contents
[
Hide
]
Aspose.Cells позволяет проверить, действительна ли цифровая подпись кода VBA с помощью свойства Workbook.VbaProject.IsValidSigned. Он вернет true, если подпись действительна, в противном случае он вернет false. Цифровая подпись кода VBA становится недействительной, когда вы изменяете код VBA.
Проверить, действителен ли цифровая подпись кода VBA на C#
Следующий код демонстрирует использование этого свойства с образцовым файлом Excel, который вы можете загрузить по предоставленной ссылке. В этом же файле Excel имеется действительная подпись, но после изменения его кода VBA, сохранения книги и повторной проверки мы обнаружим, что его подпись стала недействительной.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); |