ユーザーフォームのサイズ変更 ~ スピンボタンで操作 ~
ユーザーフォームのサイズを、任意に変更したくなった。
ユーザーフォームの端っこを摘まんで、びよ~んとサイズ変更できると有難い。
しかし、そのような機能は無いようだ。
そこで、試しにスピンボタンを設けてみた。こんな感じだ。
' ユーザーフォームの単位高さ。 ' スピンボタンを押すたびに、この値の倍数で ' ユーザーフォームの高さを変更させる。 Const unit_width As Long = 50 Private Sub ChangeFormSize() ' ユーザーフォームのサイズ変更。 ' 幅は、高さの約140%(√2倍)とした。 ' ※馴染みのあるAサイズ(A3やA4など)の比率。 UserForm1.Height = unit_width * SpinButton1.Value UserForm1.Width = UserForm1.Height * 2 ^ 0.5 End Sub Private Sub SpinButton1_SpinDown() Call ChangeFormSize End Sub Private Sub SpinButton1_SpinUp() Call ChangeFormSize End Sub Private Sub UserForm_Initialize() ' スピンボタンの最大値と最小値を設定。 SpinButton1.Min = 1 SpinButton1.Max = 10 ' 初期値。 SpinButton1.Value = 5 ' 初期値に合わせてユーザーフォームサイズ変更。 Call ChangeFormSize End Sub
動きとしては、こんな感じだ。
悪くないかも。明日に続きます。
参考まで。