エクセルVBAで使用するコードの備忘録。VBAで開いているウィンドウのサイズを変更するコード。コードが記載されているエクセルのワークブックだけでなく、他のワークブックのウィンドウサイズも変更可能です。
Height, Widthプロパティ
ウィンドウのサイズを設定するには、設定したいWindowオブジェクトのHeightプロパティとWidthプロパティにサイズを設定します。サイズはポイント単位での指定になります。
Height、Widthプロパティを設定する際に気を付けなければならないことはウィンドウが最大化や最小化だと画面表示に変化が現れないという点です。そのため、HeightやWidthプロパティを使用してサイズを変更するのであれば、直前にウィンドウの状態を標準化しておきます(WindowStateをxlNormalに設定します)。
ちなみに、対象のWindowオブジェクトを取得する方法についてはこちらをご参照ください。
サンプルコード
下記のサンプルコードでは、指定ウィンドウのサイズを設定して操作しています。まず、Windowオブジェクトを取得して標準化し、その後サイズを設定しています。ウィンドウを最前面にする操作は特に必要はありませんが、変化がわかりやすいように一応付けてます。
なお、コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。
Public Sub SetWindowSize()
'--- Windowオブジェクトの取得 ---'
Dim wds As Window
Set wds = Application.windows("[ウィンドウ名]")
'--- サイズを標準化する ---'
wds.WindowState = xlNormal
'--- サイズを指定する ---'
wds.Height = [高さ(ポイント単位)]
wds.Width = [幅(ポイント単位)]
'--- ウィンドウを最前面に移動 ---'
Call AppActivate(wds.Caption)
End Sub