vba, excel - при обнаружении с помощью файлов xls есть макрос? - PullRequest
2 голосов
/ 17 декабря 2009

Кто-нибудь знает программный способ определить, есть ли в файле Excel макрос? У меня есть сотни файлов Excel, и мне нужно знать, в каких файлах есть макросы?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2009

Я пробовал это с двумя рабочими книгами (одна с макросами, а другая без макросов).

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

Надеюсь, это поможет.

2 голосов
/ 17 декабря 2009

Вы можете перебрать коллекцию Workbook.VBProject.VBComponents

Если вы найдете там что-нибудь, у вас есть макросы

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...