【Excel VBA】ウィンドウの最大化/最小化(WindowState)

はじめに

今回は、ウィンドウの最大化 及び 最小化する方法を解説します。
ウィンドウの状態を取得・判定する方法も併せて紹介しますので、是非最後までお付き合いください。

この記事を読むメリット
  • ウィンドウを最大化 及び 最小化する方法が分かります。
  • ウィンドウの状態を取得・判定する方法が分かります。
  • コピペで使える実践的なコードを掲載しています。

基本情報

WindowStateプロパティ

ウィンドウの最大化 及び 最小化をするには、WindowオブジェクトのWindowStateプロパティを使用します。

ウィンドウが最小化 及び 最小化されているかを取得することも可能です。
(参考:サンプルコード – ウィンドウの状態を判定する

構文

構文

WindowObject.WindowState = 設定値

設定値

設定値には、「XlWindowState」定数を指定します。
定数については後述します。

定数(XlWindowState定数)

#定数説明
1xlMaximized最大化
2xlMinimized最小化
3xlNormal標準
XlWindowState定数

サンプルコード

ウィンドウの最大化 及び 最小化

サンプルコード
Public Sub setWindowState()

    ' アクティブウィンドウを最小化
    ActiveWindow.WindowState = xlMinimized

    ' アクティブウィンドウを最大化
    ActiveWindow.WindowState = xlMaximized
End Sub

ウィンドウの状態を判定する

サンプルコード
Public Sub checkWindowState()
    Dim win As Window   ' Windowオブジェクト

    ' ウィンドウを取得
    Set win = Application.Windows("Book1")

    ' ウィンドウが最小化されているかを判定
    If win.WindowState = xlMinimized Then

        MsgBox win.Caption & "は最小化されています。"
    End If
End Sub

すべてのウィンドウを最小化する

サンプルコード
Public Sub allWindowMinimized()
    Dim win As Window   ' Windowオブジェクト

    ' ウィンドウすべてをループ
    For Each win In Windows

        ' ウィンドウを最小化
        win.WindowState = xlMinimized
    Next win
End Sub

最後に

今回はウィンドウを最大化 及び 最小化する方法をご紹介しました。

個人的な感想ですが、基本的にはウィンドウを最大化しながら作業をする方が多いと思います。
処理の仕上げとして、ウィンドウを最大化することをオススメします。

本記事が、皆さんのお力になれば幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA