Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAでExcel.Windowオブジェクトを取得する

VBAでExcel.Windowオブジェクトを取得する

動作検証バージョン: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

もちろん、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

Windowsプロパティを使うと、ExcelのWindowsコレクションを取得できるので、その要素であるWindowオブジェクトをFor Each~Nextループで順番に取得しています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » VBAでExcel.Windowオブジェクトを取得する

「Windowオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.