Проверьте, действительна ли цифровая подпись кода VBA
Contents
[
Hide
]
Aspose.Cells позволяет проверить, действительна ли цифровая подпись кода VBA с помощьюWorkbook.VbaProject.IsValidSigned имущество. Он вернетсяистинный если подпись действительна, в противном случае она вернетсяЛОЖЬ. Цифровая подпись кода VBA становится недействительной при изменении кода VBA.
Проверьте, действительна ли цифровая подпись кода VBA в C#.
Следующий код демонстрирует использование этого свойства с помощьюобразец эксель файлакоторый вы можете скачать по предоставленной ссылке. Тот же файл Excel имеет действительную подпись, но когда мы изменим его код VBA и сохраним книгу, а затем перепроверим, мы обнаружим, что ее подпись стала недействительной.
This file contains hidden or 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); |