VBA/Excel/Access/Word/Application/VBE
Содержание
- 1 Clear Immediate window through VBE
- 2 Displaying each active VBA component in a worksheet
- 3 Find code object
- 4 Find the code pane
- 5 Find the selected component in VBIDE
- 6 Find user form
- 7 Find worksheet code module
- 8 Get active project name
- 9 Get VB project name
- 10 Show selected VB component"s name
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>