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

ウィンドウが最大化されているか-Window.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プロパティ

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

WindowStateプロパティで最大化もできる

WindowオブジェクトのWindowStateプロパティは、オブジェクトブラウザに「読み取り専用」という表示がないことから、取得だけでなく設定もできるプロパティです。

以下のコードを実行すれば、アクティブなウィンドウを最大化できます。
  ActiveWindow.WindowState = xlMaximized

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プロパティ

最終更新日時:2019-06-10 11:25

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

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

検索


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

.