- 締切済み
Excel VBA 全部のUserForm名
OSはXP、 Excelは2003 を使用しています。 色々なサイトを参考にさせて頂いて作ったブック内のコントロールを表に書き出すマクロが下記になるのですが、 ユーザーフォーム名を都度書き換えないといけないので、 同時にブック内のユーザーフォーム名を変数に格納する方法をどなたか教えて頂けないでしょうか? Sub test() Dim c As Control, r As Long Dim d As Control Load frmCustomerEntry ’←☆ Worksheets("Sheet1").Activate r = 3 Cells(1, 1) = ("コントロール数:" & frmCustomerEntry.Controls.Count) ’←☆ Cells(2, 1).Value = "No" Cells(2, 2).Value = "名前" Cells(2, 3).Value = "種類" Cells(2, 4).Value = "Caption" Cells(2, 5).Value = "高さ" Cells(2, 6).Value = "幅" Cells(2, 7).Value = "Top" Cells(2, 8).Value = "Left" Cells(2, 9).Value = "Enabled" For Each c In frmCustomerEntry.Controls Cells(r, 1).Value = r - 2 Cells(r, 2).Value = c.Name Cells(r, 3).Value = TypeName(c) If TypeName(c) = "TextBox" Then 'captionの項目がないのでエラー回避 Cells(r, 4).Value = "" ElseIf TypeName(c) = "ListBox" Then 'captionの項目がないのでエラー回避 Cells(r, 4).Value = "" Else Cells(r, 4).Value = c.Caption End If Cells(r, 5).Value = c.Height Cells(r, 6).Value = c.Width Cells(r, 7).Value = c.Top Cells(r, 8).Value = c.Left Cells(r, 9).Value = c.Enabled r = r + 1 Next c On Error GoTo 0 End Sub ***************** ブックの中にユーザーフォームが10数個あります。 名前は任意に名前に変更しています。 全て「frm」が頭に付いていて以下はバラバラです。 説明不足なところもあるかもしれませんが、 どうかよろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- WindFaller
- ベストアンサー率57% (465/803)
お礼
WindFaller様 お礼が遅くなってしまって大変申し訳ありません。 記述して頂いた分で"frmCustomerEntry"だけは出来たのですが、 Book内の全てのユーザーフォーム名を取得してくるモノが欲しかったのです。 いまこの件で時間が取れなくなってしまったので、今回はこれにて一旦締め切らせて貰います。 すみません。 本当にありがとうございました。