如何检查VBA模块是否已被修改?

时间:2015-11-03 18:04:37

标签: excel vba excel-vba

我有一个Excel工作簿,我想在每次关闭工作簿时导出代码,但我想有选择地这样做,以便每个模块只有在打开工作簿后才被导出。我希望能够使用导出的文件在代码上运行diff,我假设每次重新导出都会导致文件始终被标记为不同。这是尝试一些伪代码来表明我的意思:

for each module in Workbook
    if module.isModified() then
        module.export
    end if
next module

2 个答案:

答案 0 :(得分:1)

VBComponent具有只读属性。添加对VBE的引用,您应该可以访问"已更改" VBComponents

bool已保存

Saved Property - (Excel 2003 VBA Programmer's Reference Google Books)

答案 1 :(得分:0)

我只是在懒惰,并希望有人已经新的方法,我还没有找到。对不起。

我发现我可以使用以下内容。

for each module in Workbook
    if not module.saved then
        module.export
    end if
next module

然后,我每次保存工作簿时都会运行导出功能。