【发布时间】:2009-09-03 12:39:34
【问题描述】:
在我们的项目中,我们有一个 Excel 模板 (.xlt) 和一个加载项文件 (.xla)。这些文件用于创建数据视图。 Dataview 只不过是一种报告。 xla 包含用于创建用于创建、删除、管理数据视图及其内容的控件的代码。这些控件是在 VC++ 中创建的用于创建数据视图的 OCX 控件。我们分别有加载项代码和模板文件。
xlt 和 xla 进行了数字签名,以确保代码是防篡改的。一切正常,直到数字签名出现。数据视图是通过打开模板文件 (.xlt) 并以 .xls 扩展名保存文件来创建的,因此不会更改数字签名的 xlt 和 xla 文件。当我们尝试保存时,我们会收到以下消息“您正在尝试修改已签名的项目。您没有正确的密钥来签署项目......”
当我们给出保存更改并丢弃签名时,只有生成的新文件的签名才会丢失。 xlt 和 xla 的签名保持不变。
我们还尝试手动编辑 Excel 中的单元格并保存它,但我们没有收到上述消息。只有在使用 OCX 控件创建数据视图并保存后才会弹出上述消息。
【问题讨论】: