Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以构建';来源证明';通过VBA宏使用标准功能输出到Excel文件中?_Excel_Vba_Certificate_Digital Signature_Audit - Fatal编程技术网

是否可以构建';来源证明';通过VBA宏使用标准功能输出到Excel文件中?

是否可以构建';来源证明';通过VBA宏使用标准功能输出到Excel文件中?,excel,vba,certificate,digital-signature,audit,Excel,Vba,Certificate,Digital Signature,Audit,我有一个简单的Excel工具('Toolv1.xlsm'),它允许内部公司用户向表中添加一些参数,然后单击一个按钮,使用power query从内部Active Directory获取和转换一组数据 VBA然后创建一个新的Excel文件('Output.xlsx'),其中包含相关数据,并使用随机生成的密码进行“保护”,该密码不会存储在任何地方,从而使该文件永远只读。它还将运行该文件的人的“数字签名”应用于输出文件,以证明是他们创建了该文件 Toolv1.xlsm存储在一个位置,该位置对于使用它的

我有一个简单的Excel工具('Toolv1.xlsm'),它允许内部公司用户向表中添加一些参数,然后单击一个按钮,使用power query从内部Active Directory获取和转换一组数据

VBA然后创建一个新的Excel文件('Output.xlsx'),其中包含相关数据,并使用随机生成的密码进行“保护”,该密码不会存储在任何地方,从而使该文件永远只读。它还将运行该文件的人的“数字签名”应用于输出文件,以证明是他们创建了该文件

Toolv1.xlsm存储在一个位置,该位置对于使用它的代理是只读的,VBA受到保护,文件由我(“开发人员”)进行数字签名

这里有一个问题:手动创建一个“Output.xlsx”文件,看起来与该工具创建的文件完全相同,只需应用他们自己的数字签名,这对某些人来说非常容易。他们也可能使用本地保存的、包含错误逻辑的旧版本的工具。那么,有没有一种简单的机制可以让我们“证明”Output.xlsx是由“Toolv1.xlsm”的“我的”签名版本创建的,以提供创建数据的逻辑的保证记录

我能想到的实现这一点的大多数方法都深入到“这太荒谬了,你不应该在这份工作中使用excel”这一领域——这就是今天的工具所以,我希望在我们探索合适的企业级解决方案时,有一些我没有想到的简单方法可以在短期内证明输出文件的起源

我已经在输出文件中包含了一个单元格,其中包含了创建该单元格的工具的文本版本号,但这并不能“证明”任何东西