| 内容 | Sub コントロールの一覧を作成する()
'マクロを実行するには、まず、セキュリティの設定変更が必要です。
'Excel 2010・2007の場合は、[開発]タブ-[コード]グループ-[マクロのセキュリティ]ボタンなどから表示できる、[セキュリティセンター]ダイアログ-[マクロの設定]タブの[開発者向けのマクロ設定]欄-[VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]チェックボックスをOnにしてください。
Dim MyControl As Control
Dim lp_comp As Long
Dim iR As Integer
If MsgBox( _
"コントロールの一覧を作成してよければOKボタンをクリックしてください。", _
vbOKCancel vbDefaultButton2) = vbCancel Then Exit Sub
'先頭にワークシートを挿入
Worksheets.Add Before:=Worksheets(1)
With ActiveWorkbook
'プロジェクト内のコンポーネントの数だけループを回す
For lp_comp = 1 To .VBProject.VBComponents.Count
If .VBProject.VBComponents(lp_comp).Type = 3 Then
'コンポーネント名を書きだす行番号を設定
iR = iR 1
'コンポーネント名の書き出し
Cells(iR, 1) = .VBProject.VBComponents(lp_comp).Name
For Each MyControl In UserForms.Add(.VBProject.VBComponents(lp_comp).Name).Controls
iR = iR 1
Cells(iR, 2) = MyControl.Name
Next
End If
Next lp_comp
End With
MsgBox Worksheets(1).Name & "にコンポーネントとプロシージャの一覧を作成しました。"
End Sub
|