VBAです。アクセスです。
Sub test2()
Dim obj As AccessObject
Dim f As Form
For Each obj In CurrentProject.AllForms
Set f = obj.Name
Debug.Print f.Name
色々操作するコード
Next
End Sub
このコードがうまく行かない理由がわからないのです。
Set f = obj.Nameの.Nameで、
「型が一致しません。」のエラーになります。
しかし、Set f = objにすると、
実行時エラー13になります。
オブジェクト型の変数にsetでフォームの名前を入れて、
その後いろいろ操作させるにはどのようにすればよろしいでしょうか?
No.1ベストアンサー
- 回答日時:
ちょっといじってみました。
Set f = obj.Nameでは、オブジェクトに文字列を代入しようとしていますね。
Set f = Forms(obj.Name)なら良いと思いましたが、フォームが開いていないとエラーになりますのでisloadedで判別する必要があります。(これが実行時エラーの原因かも)
であれば、test2()の方は開いているフォームしか対象にならない様なので同じ事かなとも思いました。
ただ、何をなさりたいか分かりませんが、先日別件で調べて知ったばかりですが、フォームのプロパティの操作はデザインモードで開かないと(非表示でも可)出来ない様ですのでご参考までに。
Sub test()
Dim obj As AccessObject
Dim f As Form
For Each obj In CurrentProject.AllForms
If obj.IsLoaded Then
'開いていないとエラーになる
Set f = Forms(obj.Name)
'色々操作するコード
End If
Next
End Sub
Sub test2()
Dim f As Access.Form
For Each f In Access.Forms
'色々操作するコード
Debug.Print f.Name
Next
End Sub
No.3
- 回答日時:
>Dim f As Form
とした場合、f はオブジェクト型の変数ではありません。
オブジェクト型の変数として使用するのであれば
Dim obj As AccessObject
Dim f As Object
For Each obj In CurrentProject.AllForms
Set f = obj
Debug.Print f.Name
色々操作するコード
Next
とします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) IBM Notes9のメールをExcelVBAにて送信するコードについての質問です。 以下のコードを 3 2023/06/21 17:58
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) VBAのコードで Dim Obj As AccessObject でコンパイルエラーがでます。 「ユ 2 2022/07/01 06:57
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) VBAでWorkbook.addの使い方 3 2023/02/01 11:58
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
どこにもフォーカスを当てたくない
Access(アクセス)
-
-
4
変数をコントロール型で使用する方法
Visual Basic(VBA)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
7
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
11
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
12
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
13
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
14
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
15
UserForm1.Showでエラーになります。
工学
-
16
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
17
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
18
コントロールの存在確認
Visual Basic(VBA)
-
19
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
20
ExcelのVBAでフォームが表示されない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
【VB.NET】 パワポ操作を非表示で
-
バッチファイルで、あるスクリ...
-
文字列内で括弧を使うには
-
インポート時のエラー「データ...
-
String""から型'Double'への変...
-
ApplicationとWorksheetFunctio...
-
VB.NETでMessageBoxが表示され...
-
VBAでのファイル読込エラー...
-
エクセルVBA 「On Error GoTo...
-
実行時エラー'-2147467259(8000...
-
実行したSQLの結果を返す方法
-
error C2664: 'LPCTSTR' に変換...
-
バッチファイルからVBA実行でエ...
-
VBAで時間(00:00形式)を積算...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
On ErrorでエラーNoが0
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
VBA データ(特定値)のある最...
-
実行時エラー 438 の解決策をお...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
エクセルVBA 「On Error GoTo...
-
【VBA】ワークブックを開く時に...
-
マクロの「SaveAs」でエラーが...
-
ACCESSで値を代入できないとは?
-
実行時エラー'-2147467259(8000...
-
インポート時のエラー「データ...
-
【VB.NET】 パワポ操作を非表示で
-
Filter関数を用いた結果、何も...
-
UBoundに配列がありませんとエ...
-
Excel vbaについての質問
-
メールの件名のセットでエラー...
おすすめ情報