如何用vba返回工程资源管理器中当前选中的VBComponent的信息?

如下图所示:

在vbe中当前选中的是标准模块中的“模块1”,在vba中可以使用VBE对象的SelectedVBComponent属性返回当前选中的vba工程中的组件。

以下示例代码将返回当前选中的标准模块“模块1”中的代码总行数和声明部分的代码总行数:

Public i
Sub QQ1722187970()
   Dim oVC As VBComponent
   Dim oCM As CodeModule
   Set oVC = Excel.Application.VBE.SelectedVBComponent
   '如果选中的是有效的组件
   If Not (oVC Is Nothing) Then
    With oVC
        '输出当前组件的名称
         Debug.Print .Name
         Set oCM = .CodeModule
         With oCM
             '输出总的声明代码行数和总的代码行数
             Debug.Print .CountOfDeclarationLines, .CountOfLines
         End With
    End With
   End If
End Sub
       

发表评论