8

如果 Excel 工作簿有许多工作表,其中一些工作表内部有宏,我发现确定哪些工作表有宏的唯一方法是在项目资源管理器(VBA中的Ctrl+ )中单击每个工作表。R

有没有其他方法可以做到这一点?

4

2 回答 2

11

我最近在 MSDN 上回答了一个问题,并最终在上面写了一篇博文。

主题:检查 Excel 文件是否有宏

链接http ://www.siddharthout.com/2012/04/12/check-if-an-excel-file-has-a-macro/

然后,您可以使用.VBComponents.Item(i).Namewith.VBComponents.Item(i).Type检查哪些“表格”具有“”。

编辑

从技术上讲,每个都是一段代码,但不一定每段代码都是一个宏。因此,如果您只是检查宏,请查看博文的第一部分,如果您要检查任何代码,请查看博文的第二部分。

于 2012-04-13T13:12:04.940 回答
3

您可以遍历工作表并使用以下语法:

If ActiveWorkbook.VBProject.VBComponents(sheetName).CodeModule.CountOfLines <> 0 Then

sheetName是工作表的名称。

如需更高级的使用,您应该查看此页面,其中提供了更高级的示例。

于 2012-04-13T11:39:29.273 回答