動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2505(ビルド18827.20128クイック実行)
「excel vba windowオブジェクト 取得」
といった検索キーワードでアクセスがありました。
何を調べていらしたのか判断が難しいのですが、ExcelのWindowオブジェクトを取得するためにまず確認すべきは、グローバルメンバーのActiveWindowプロパティです。
[スポンサードリンク]
Excel.WindowオブジェクトをFor~Nextループで順番に取得するサンプルマクロ
ActiveWindowプロパティの次に知っておきたいのが、Windowsプロパティを使った式です。
「Windows(1)」といったコードでも、ExcelのWindowオブジェクトを取得できます。
以下のExcelマクロを実行すると、Excelのウィンドウが順番にアクティブになり、そのキャプションがメッセージボックスに表示されます。
Sub Windowオブジェクトを順番に取得する__For()
Dim i As Long
For i = 1 To Windows.Count
With Windows(i)
.Activate
MsgBox .Caption
End With
Next
End Sub
Dim i As Long
For i = 1 To Windows.Count
With Windows(i)
.Activate
MsgBox .Caption
End With
Next
End Sub
もちろん、For~Nextループを使わず、「Windows(1)」「Windows(2)」といったコードで、Windowオブジェクトを取得できます。
Excel.WindowオブジェクトをFor Each~Nextループで順番に取得するサンプルマクロ
似た処理をFor Each~Next文で書くこともできます。
Sub Windowオブジェクトを順番に取得する__For_Each()
Dim wnd As Window
For Each wnd In Windows
wnd.Activate
MsgBox wnd.Caption
Next
End Sub
Dim wnd As Window
For Each wnd In Windows
wnd.Activate
MsgBox wnd.Caption
Next
End Sub
Windowsプロパティを使うと、ExcelのWindowsコレクションを取得できるので、その要素であるWindowオブジェクトをFor Each~Nextループで順番に取得しています。
[スポンサードリンク]
- Newer:PasteSpecialで値のみ貼り付けるには
- Older:VBAで小数点以下の最大桁数を取得する
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAでExcel.Windowオブジェクトを取得する