2017-01-31 5 views
-1

Я работаю в компании, у которой есть механизм для управления и блокировки сообщений с расширениями certains, такими как .doc, .xls, xlsx, xlsm et cetera.Как просмотреть макрокоманду без их запуска?

Мы получаем много запросов на одобрение этих сообщений, поскольку они имеют отношение к нашим клиентам, но прежде чем мы это сделаем, мы проверяем прикрепленные файлы для кода в VBA, но когда я их открываю, я получаю сообщение «ЗАЩИЩЕННЫЙ ВИД Файлы из Интернета могут содержать вирусы », и если я открою редактор VBA (ALT + F11), кода там нет.

Нет ничего. Нет листа, нет ThisWorkBook, ничего. Все серое. Итак, как я могу просмотреть код, не запуская потенциальный код вредоносного макроса и оставаться в защищенном режиме.

Когда я включаю все макросы без уведомления или нажимаю «Включить редактирование», он работает, но это не то, что я хочу.

ответ

3

Вы не можете увидеть код в режиме защищенного просмотра (если есть трюк, который кто-то поделится.)

Но для части Так как я просмотреть код, без запуска потенциального вредоносного кода макроса .... вот решение:

Использование Application.AutomationSecurity вы можете создать/создать базовый макрос, который позволит вам открыть все полученные файлы в отключенном режиме макроса.

После этого вы можете вручную прочитать код. (Надеюсь, вы не пытаетесь построить сканер кода!)

Вот пример, чтобы начать с из MSDN

Sub Security() 
    Dim strFile As String 
    Dim secAutomation As MsoAutomationSecurity 

    secAutomation = Application.AutomationSecurity 

    Application.AutomationSecurity = msoAutomationSecurityForceDisable 
    '/ Just an example workbook. 
    strFile = "C:\Users\username\Desktop\fail-test.xlsm" 

    Workbooks.Open strFile 

    '/ once the workbook is launced, yoou applicationsetting is restored. 
    Application.AutomationSecurity = secAutomation 

End Sub