检查VBA代码的数字签名是否有效
Contents
[
Hide
]
Aspose.Cells for Python via .NET允许您使用Workbook.vba_project.is_valid_signed属性检查VBA代码的数字签名是否有效。如果签名有效,返回true,否则返回false。当您更改VBA代码时,数字签名将失效。
在Python中检查VBA代码的数字签名是否有效
以下代码演示了使用该属性的用法,使用示例Excel文件进行测试。相同的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
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
workbook = Workbook(dataDir + "sampleVBAProjectSigned.xlsm") | |
# Signature is valid | |
print("Is VBA Code Project Valid Signed: " + str(workbook.vba_project.is_valid_signed)) | |
# Modify the VBA Code, save the workbook then reload | |
# VBA Code Signature will now be invalid | |
code = workbook.vba_project.modules[1].codes | |
code = code.replace("Welcome to Aspose", "Welcome to Aspose.Cells") | |
workbook.vba_project.modules[1].codes = code | |
# Save | |
workbook.save(dataDir + "output_out.xlsm") | |
# Reload | |
workbook = Workbook(dataDir + "output_out.xlsm") | |
# Now the signature is invalid | |
print("Is VBA Code Project Valid Signed: " + str(workbook.vba_project.is_valid_signed)) |