
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」が頭に付いていて以下はバラバラです。
説明不足なところもあるかもしれませんが、
どうかよろしくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんばんは。
こんな風にすれば、出来ると思います。
Sub Test2()
myForms_Test "frmCustomerEntry"
End Sub
Sub myForms_Test(sName As String) 'サブプロシージャにする
Dim c As Control, r As Long
Dim d As Control
Dim UF As UserForm
Set UF = UserForms.Add(sName)
Load UserForms.Add(sName)
ThisWorkbook.Worksheets("Sheet1").Activate
・・・
WindFaller様
お礼が遅くなってしまって大変申し訳ありません。
記述して頂いた分で"frmCustomerEntry"だけは出来たのですが、
Book内の全てのユーザーフォーム名を取得してくるモノが欲しかったのです。
いまこの件で時間が取れなくなってしまったので、今回はこれにて一旦締め切らせて貰います。
すみません。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クエリで出来た表にチェックボ...
-
ACCESS──メインフォームでサブ...
-
Accessで埋め込んだサブフォー...
-
ACCESSにて
-
Accessでセレクタをダブルクリ...
-
Access:データシート形式表示...
-
親・子リンクフィールドの設定...
-
サブフォームに対してGoToRecor...
-
サブフォームを非表示させる方...
-
Access サブフォームのレコード...
-
サブフォームに変数を代入し、R...
-
ACCESSで条件によってサブフォ...
-
サブフォームのデータを「Offic...
-
ACCESSサブフォームにデータ反...
-
Access2007 ラベルの削除がで...
-
アクセスのサブフォームからメ...
-
ACCESSのサブフォームコピーに...
-
サブフォームのあるフォームか...
-
access フォーム上で複数行の...
-
親フォームからサブフォームの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
親・子リンクフィールドの設定...
-
ACCESSにて
-
親フォームからサブフォームの...
-
ACCESS──メインフォームでサブ...
-
サブフォームのあるフォームか...
-
Accessで埋め込んだサブフォー...
-
サブフォームを非表示させる方...
-
サブフォームに変数を代入し、R...
-
Accessでセレクタをダブルクリ...
-
Access SUMの結果が何もない時...
-
Access2007 ラベルの削除がで...
-
Access メインフォーム サブフ...
-
ACCESS VBA メインフォーム及び...
-
access vba サブフォームに条件...
-
Access Dsum関数
-
Access 登録ボタンからサブフォ...
-
Access サブフォームのレコード...
-
Access VBA には Gridはないで...
おすすめ情報