Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » Excel VBAでウィンドウが最大化されているか判定する-WindowState = xlMaximized

Excel VBAでウィンドウが最大化されているか判定する-WindowState = xlMaximized

動作検証バージョン:Windows版Excel(バージョン1902 ビルド11328.20146)

「vba excel 最大化で表示されているか」
という検索キーワードでのアクセスに気が付きました。

Excel VBAでウィンドウが最大化されているかどうかを判定するには、どのようなコードを書けばいいのか探していた方による検索です。

[スポンサードリンク]

ウィンドウが最大化されているか判定するサンプルマクロ

以下のようなコードで、ウィンドウが最大化されているかどうかを調べられます。

Sub ウィンドウが最大化されているか判定する()
 If ActiveWindow.WindowState = xlMaximized Then
  MsgBox "最大化されています。"
 Else
  MsgBox "最大化されていません。"
 End If
End Sub

ActiveWindowプロパティでアクティブなウィンドウを表すWindowオブジェクトを取得し、

ウィンドウが最大化されているか-Window.WindowStateプロパティ

Windowオブジェクトに用意されているWindowStateプロパティが、

ウィンドウが最大化されているか-Window.WindowStateプロパティ

定数xlMaximized(直値:-4137)に一致するかで、

ウィンドウが最大化されているか-Window.WindowStateプロパティ

最大化されているかどうか判定しています。

Windowオブジェクトをローカルウィンドウで確認しましょう

是非Windowオブジェクトがどのようなデータを持ったオブジェクトなのかを、拙著『いちばんやさしいExcel VBAの教本』でも多用しているローカルウィンドウで見ておきましょう。

Sub Windowオブジェクトを確認する()
 Dim wnd As Window
 Set wnd = ActiveWindow
 Stop
End Sub

上記のSubプロシージャを実行してStopステートメントで中断モードになったら、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示して、オブジェクト変数wndの中身を確認しましょう。

この記事でご紹介しているWindowStateプロパティも、もちろん下図のように確認できます。

ウィンドウが最大化されているか-Window.WindowStateプロパティ

Active〇〇系プロパティ

また、ウィンドウの最大化に直接関係するわけではありませんが、Excel VBAをお使いならおなじみのActive〇〇系のプロパティを、Windowオブジェクトが持っていることにも、注目していただきたいと思っています。

ウィンドウが最大化されているか-Window.WindowStateプロパティ

最終更新日時:2023-07-04 15:51

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » Excel VBAでウィンドウが最大化されているか判定する-WindowState = xlMaximized

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

検索


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

.