ms accessの vbエディタ内の
イミディエイトウィンドウ(Ctrl + G)
で、現在開いている accessのファイルに関する操作ができるそうですが、
イミディエイトウィンドウに vbのコードを入力して、
そのaccessファイル内でその時点で開いているフォームの名前を
取得することはできるのでしょうか?
↓
はい、イミディエイトウィンドウで、
現在開いている Access のファイル内で
**開いているフォームの名前** を取得できます。
## 方法
イミディエイトウィンドウで、以下のコードを入力して
**Enter** を押すと、開いているフォームの名前が表示されます。
```vba
? CurrentProject.AllForms(0).Name
```
しかし、これは **全てのフォームの一覧** から
最初のものを取得する方法なので、
**現在開いているフォームのみ** を取得する場合は、
以下のコードを使います。
### **現在開いているフォーム名をすべて取得**
```vba
Dim frm As Object
For Each frm In Application.Forms
Debug.Print frm.Name
Next
```
イミディエイトウィンドウで実行すると、
開いているフォームの名前が表示されます。
### **イミディエイトウィンドウで一発表示**
単に開いているフォームのリストを取得したい場合、
イミディエイトウィンドウに以下を入力すればOKです。
```vba
For Each frm In Application.Forms : Debug.Print frm.Name : Next
```
#### **補足**
- `Application.Forms` は現在開いているフォームのコレクションを表します。
- `Debug.Print frm.Name` はフォーム名を出力する処理です。
この方法で **現在開いているフォームの名前** を取得できます!
コメント
コメントを投稿