
Excel VBAでブックのウインドウサイズが変わったときに、処理を実行する記録です。
ウインドウが変わったときに処理を実行するには「WindowResize」イベントを使います。
下図はExcel2016です。
< スポンサーリンク >
「WindowResize」イベント構文
Workbookオブジェクト.WindowResize(Wn)
ブックのウインドウサイズを変更したときに発生します。
Wn=必須。サイズを変更するウインドウを指定します。
「WindowResize」イベントの使用例
ウインドウが変わったときに処理を実行してみます。
VBEを開き、「TshiWorkbook」をダブルクリックします。
左側のオブジェクトボックスで「Workbook」を選択し、右側のプロシージャボックスで「WindowResize」を選択します。
「Private Sub Workbook_Open()」の部分は不要なので消します。
ウインドウのサイズが変更されたときに「ウインドウの大きさが変更されました」とメッセージを表示します。
Private Sub Workbook_WindowResize(ByVal Wn As Window)
MsgBox “ウインドウの大きさが変更されました”
End Sub
ウインドウの大きさを変更してみます。
「ウインドウの大きさが変更されました」というメッセージが出てました。
ウィンドウのサイズを変更したときに、最大化ではない場合は、最大化するようにしてみます。
Private Sub Workbook_WindowResize(ByVal Wn As Window)
If Wn.WindowState <> xlMaximized Then
Wn.WindowState = xlMaximized
End If
End Sub
ウインドウの大きさを変更してみます。
一瞬小さくなりましたが、すぐに最大化されました。
こんな記事も書いています