VBA,Excel – 用xls文件检测有一个macros呢?

有没有人知道一个编程方式来确定一个Excel文件是否有一个macros呢? 我有数百个Excel文件,我需要知道哪些文件中有macros?

我已经尝试了2个工作簿(1macros和另一个没有macros)。

Application.AutomationSecurity = msoAutomationSecurityForceDisable Workbooks.Open("c:\temp\myfileWithMacros.xls") Msgbox ActiveWorkBook.HasVBProject ActiveWorkBook.Close Workbooks.Open("c:\temp\myfileWithoutMacros.xls") Msgbox ActiveWorkBook.HasVBProject ActiveWorkBook.Close 

希望有所帮助。

您可以遍历集合Workbook.VBProject.VBComponents

如果你发现有任何东西,你有macros

Algorightm

 Loop through all XLS workbooks Open Workbook If Workbook.VBProject.VBComponents.Count > 0 Then HasCodBehind = True '// Do what you need to here End If Close Workbook End Loop