
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(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
変数をコントロール型で使用する方法
Visual Basic(VBA)
-
-
4
フォーム上の現在アクティブなコントロールの取得
Access(アクセス)
-
5
UserForm1.Showでエラーになります。
工学
-
6
MSFormsとは何ですか?
XML
-
7
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
10
Excel VBA 全部のUserForm名
その他(Microsoft Office)
-
11
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
12
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
15
Access サブフォームでの選択行の取得
その他(データベース)
-
16
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
17
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
18
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
19
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
20
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お助けください!VBAのファイル...
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
【VBA】ワークブックを開く時に...
-
On ErrorでエラーNoが0
-
VBA データ(特定値)のある最...
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
バッチファイルからVBA実行でエ...
-
ASPでこんなエラーが出たんです...
-
VBでSQL文のUPDATE構文を使った...
-
Excel VBA のFunctionプロシー...
-
.VBSだとADODBのプロバイダが見...
-
【Access】Excelインポート時に...
-
ACCESSで値を代入できないとは?
-
シングルクォーテーションを含...
-
実行時エラー 438 の解決策をお...
-
レコード登録時に「演算子があ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
ApplicationとWorksheetFunctio...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
実行時エラー 438 の解決策をお...
-
オブジェクト型の変数にフォー...
-
.VBSだとADODBのプロバイダが見...
-
実行時エラー'-2147467259(8000...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【VBAエラー】Nextに対するFor...
おすすめ情報