Excel VBAを使って、Excelのウィンドウを最大化してブックを開きたい、といったニーズが結構あるようです。
ウィンドウを最大化したり最小化したりする際に使用するWindowStateプロパティは、オブジェクトブラウザーで検索すればわかるとおり、ApplicationオブジェクトやWindowオブジェクトに用意されています。
上図はオブジェクトブラウザーで「完全に一致する単語だけを検索」オプションがOnの状態で「WindowState」を検索した様子です。
ブックを表すWorkbookオブジェクトには、ウィンドウの状態を制御するWindowStateプロパティはありませんから、ApplicationオブジェクトやWindowオブジェクトのWindowStateプロパティを使う必要があります。
最大化してブックを開くサンプルマクロ
Cドライブtempフォルダーに、samp.xlsxブックを用意しておいてから、以下のExcelマクロを実行してください。
ブックが最大化された状態で開かれます(厳密にはブックを開いてから最大化してます)。
Workbooks.Open "C:\temp\samp.xlsx"
ActiveWindow.WindowState = xlMaximized
End Sub
Workbooks.Openメソッドを呼び出してブックを開いてから、
Workbooks.Open "C:\temp\samp.xlsx"
ActiveWindowプロパティで取得できる、アクティブなWindowオブジェクトのWindowStateプロパティに、XlWindowState列挙型に定義されている定数xlMaximized(直値:-4137)を指定することで、Excelのウィンドウを最大化しています。
ActiveWindow.WindowState = xlMaximized
最小化してブックを開くサンプルマクロ
Window.WindowStateプロパティに指定する定数をxlMinimized(直値:-4140)にすれば、最小化された状態にできます。
Workbooks.Open "C:\temp\samp.xlsx"
ActiveWindow.WindowState = xlMinimized
End Sub
最終更新日時:2023-08-04 20:11
Home » エクセルマクロ・Excel VBAの使い方 » Windowオブジェクト » Excel VBAで最大化または最小化してブックを開きたい