|
Jaka さま
無事以下のようなコードで解決できました
本当にありがとうございます
ただ私ではループしたなかで必要コンポーネントのみ処理する形しかできませんでしたが
必要なものを直接指定で処理する方法をおしえていただけませんか?
よろしくお願いいたします
Sub kame()
Dim VBC As Object
Range("A1").Value = "コンポーネント名"
Range("B1").Value = "コントロール名"
Range("C1").Value = "コントロール種類 "
Range("d1").Value = "ControlSource "
Range("e1").Value = "Caption "
With ThisWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Name = "必要なコンポーネント名で今回はFORM名" Then
g = g + 2
Cells(g, 1).Value = VBC.Name
Set AdUF = VBA.UserForms.Add(VBC.Name)
For Each fcn In AdUF.Controls
g = g + 1
Cells(g, 1).Value = VBC.Name
Cells(g, 2).Value = fcn.Name
Cells(g, 3).Value = TypeName(fcn)
On Error Resume Next
Cells(g, 4).Value = fcn.ControlSource
Cells(g, 5).Value = fcn.Caption
On Error GoTo 0
Next
End If
Next
End With
Set AddUF = Nothing
End Sub
|
|