如何快速确定哪些工作表在Excel工作簿中有macros?
如果一个Excel工作簿有很多工作表,其中一些里面有macros,我发现确定哪些工作表有macros的唯一方法是通过在项目资源pipe理器(VBA中的Ctrl + R)中单击每个工作表。
有没有其他方法可以做到这一点?
我最近在MSDN上回答了一个问题,并最终写了一篇博文。
主题:检查一个Excel文件是否有macros
链接 : http : //www.siddharthrout.com/2012/04/12/check-if-an-excel-file-has-a-macro/
然后,您可以使用.VBComponents.Item(i).Name
与.VBComponents.Item(i).Type
来检查哪些“ 表格 ”具有“ macros ”。
编辑
从技术上讲,每一个macros都是一段代码,但并不是每一段代码都是一个macros。 所以,如果你只是检查macros,然后看到博客文章的第一部分,如果你正在检查任何代码,然后看看博客post的第二部分。
您可以遍历表单并使用以下语法:
If ActiveWorkbook.VBProject.VBComponents(sheetName).CodeModule.CountOfLines <> 0 Then
sheetName
是工作表的名称。
为了更高级的使用,你应该检查这个页面 ,提供更高级的例子。