最大化時にサイズが変更できないエラー384
-
最大化された状態で「UserForm1.Height = 500」のようにフォームサイズを変更しようとすると下図のような「実行時エラー'384'最大化または最小化されているフォームは、移動またはサイズ変更することができません。」というエラーが発生する。
解決方法
タイトルバーの拡大縮小ボタン用のAPIに加え以下のAPIを追加する。
Option Explicit
'Windows API宣言
Private Declare Function ShowWindow Lib "User32" (ByVal Hwnd As Long, ByVal nCmdShow As Long) As Long
次にフォームを変更するプログラムの前に「Call ShowWindow(GetActiveWindow(), 1)」を追加する。
Private Sub CommandButton1_Click()
Call ShowWindow(GetActiveWindow(), 1) 'フォームのサイズを元に戻す
UserForm1.Height = 500 'フォームのサイズ変更
End Sub
これでサイズ変更が可能になる。