VBA/Excel/Access/Word/Application/VBE

Материал из VB Эксперт
Перейти к: навигация, поиск

Clear Immediate window through VBE

   <source lang="vb">

    Sub ImmediateWindowClear()
          Application.VBE.Windows.Item("Immediate").SetFocus
          Application.SendKeys "^a"
          Application.SendKeys "{Del}"
    End Sub
         
</source>
   
  


Displaying each active VBA component in a worksheet

   <source lang="vb">

Sub ShowComponents()

   Dim VBP As VBProject
   Set VBP = ActiveWorkbook.VBProject
   NumComponents = VBP.VBComponents.Count
   For i = 1 To NumComponents
       Debug.Print VBP.VBComponents(i).name
       Select Case VBP.VBComponents(i).Type
           Case 1
               Debug.Print "Module"
           Case 2
               Debug.Print "Class Module"
           Case 3
               Debug.Print "UserForm"
           Case 100
               Debug.Print "Document Module"
       End Select
       Debug.Print VBP.VBComponents(i).CodeModule.CountOfLines
   Next i

End Sub

</source>
   
  


Find code object

   <source lang="vb">

Public Sub FindCodeObject()

 Dim component As VBIDE.VBComponent
 Set component = Workbooks("Book1.xls").VBProject.VBComponents(Workbooks("Book1.xls").CodeName)
 Debug.Print component.Name

End Sub

</source>
   
  


Find the code pane

   <source lang="vb">

Public Sub FindCodePane()

 Dim codePane As VBIDE.codePane
 Set codePane = Application.VBE.ActiveCodePane
 MsgBox codePane.TopLine

End Sub

</source>
   
  


Find the selected component in VBIDE

   <source lang="vb">

Public Sub FindSelectedComponent()

 Dim component As VBIDE.VBComponent
 Set component = Application.VBE.SelectedVBComponent
 MsgBox component.Name

End Sub

</source>
   
  


Find user form

   <source lang="vb">

Public Sub FindUserForm()

 Dim component As VBIDE.VBComponent
 Set component = Workbooks("Book1.xls").VBProject.VBComponents("UserForm1")
 MsgBox component.Name

End Sub

</source>
   
  


Find worksheet code module

   <source lang="vb">

Public Sub FindWorksheetCodeModule()

 Dim component As VBIDE.VBComponent
 Dim aWorkbook As Workbook
 Set aWorkbook = Workbooks("Book1.xls")
 Set component = aWorkbook.VBProject.VBComponents(aWorkbook.Worksheets("Sheet1").CodeName)
 MsgBox component.Name

End Sub

</source>
   
  


Get active project name

   <source lang="vb">

Public Sub ActiveProject()

 Dim project As VBIDE.VBProject
 Set project = Application.VBE.ActiveVBProject
 MsgBox project.Filename

End Sub

</source>
   
  


Get VB project name

   <source lang="vb">

Option Explicit Private VBE As VBIDE.VBE Public Sub FindProject()

 Dim project As VBIDE.VBProject
 Set project = Workbooks("Book1.xls").VBProject
 MsgBox project.Name

End Sub

</source>
   
  


Show selected VB component"s name

   <source lang="vb">

Public Sub ShowNames()

 With Application.VBE.SelectedVBComponent
   Debug.Print .Name & ": " & .Properties("Name")
 End With

End Sub

</source>