Страницы: 1
RSS
Есть ли в книге макросы?
 
Вопрос к знатокам Excel.  
Возможно ли макросом определить наличие в активной книге процедур и функций, а затем в столбце "А" Листа1 отобразить имена этих процедур, а в столбце "В" - имена функций?
 
Возможно поможет эта тема:  
http://www.planetaexcel.ru/forum.php?thread_id=8735
Киса, я хочу Вас спросить, как художник — художника: Вы рисовать умеете?
 
Да, возможно.  
(если в настройках Excel стоит галочка «доверять доступ к объектной модели», и проект VBA не защищён паролем)
 
{quote}{login=EducatedFool}{date=29.03.2012 09:06}{thema=}{post}Да, возможно.  
(если в настройках Excel стоит галочка «доверять доступ к объектной модели», и проект VBA не защищён паролем){/post}{/quote}  
 
Буду благодарен за пример (доступ к объектной модели включен).
 
""
 
Private Sub VBProjectTreeView()  
   With ThisWorkbook.VBProject  
        If .Protection = 1 Then Exit Sub 'vbext_pp_locked  
        For Each iVBComponent In .VBComponents  
            'iModule = iVBComponent.Name  
            With iVBComponent.CodeModule  
                 iModule$ = .Parent.Name  
                 TreeView1.Nodes.Add , , iModule$, iModule$  
                 For iCount& = 1 To .CountOfLines  
                     iProcedure$ = .ProcOfLine(iCount&, 0) 'vbext_pk_Proc  
                     If iProcedure$ <> "" Then  
                        TreeView1.Nodes.Add iModule$, 4, , iProcedure$  
                        iCount& = iCount& + .ProcCountLines(iProcedure$, 0)  
                     End If  
                 Next  
            End With  
        Next  
   End With  
End Sub  
http://www.msoffice.nm.ru/faq/macros/module.htm#faq550
 
Большое спасибо за ссылку!!!  
Разобрался. Кому интересно - см. файл (автор Климов П.Ю.).
Страницы: 1
Читают тему
Наверх