VBA ウィンドウを切り替える [VBA]
複数のウィンドウを開いた状態で、目的のウィンドウに切り替える方法です。
切り替えたいウィンドウがフォームの場合は、SetFocusが使えますが、その他のテーブル・クエリなどは、SetFocusメソッドがありませんので、この方法は使えません。
テーブル・クエリなどのウィンドウに切り替えたい場合は、DoCmd.SelectObjectを使用します。
・構文
DoCmd.SelectObject ObjectType , ObjectName , InNavigationPane
・引数
ObjectType … 必須。オブジェクトの種類を、AcObjectTypeクラスの定数で指定します。
名前 | 値 | 説明 |
acDatabaseProperties | 11 | Database プロパティ |
acDefault | -1 | |
acDiagram | 8 | データベースダイアグラム (Access プロジェクト ) |
acForm | 2 | フォーム |
acFunction | 10 | 関数 |
acMacro | 4 | マクロ |
acModule | 5 | モジュール |
acQuery | 1 | クエリ |
acReport | 3 | レポート |
acServerView | 7 | サーバー ビュー |
acStoredProcedure | 9 | ストアドプロシージャ (Access プロジェクト ) |
acTable | 0 | テーブル |
acTableDataMacro | 12 | データ マクロ |
ObjectName … 選択するオブジェクトの名前を文字列で指定します。
InNavigationPane … データベースウィンドウの項目を選択する場合はTrue、開いているウィンドウを選択する場合はFalse(既定値)を指定します。
例えば、テーブル「TMTDFK」を選択する場合は、
DoCmd.SelectObject acTable, "TMTDFK", False
と、します。
現在のウィンドウが最大化されていない状態で、最小化されているウィンドウを選択しても、ウィンドウは最小化されたままになります。
この場合は、選択後DoCmd.Restoreなどを行う必要があります。
コメント 0