Excelのこととか色々

マクロをどんな Excel ファイルにも実行できるように設定して、3秒かかる操作も1秒で完了。あといろいろ書いてみます・・・

【Excel/VBAのこと49】起動中のフォームのサイズを変える

   f:id:tuna-kichi:20200223230814p:plain

 

 

フォームを表示させて作業していると、時々サイズを変更させて作業をしやすくしたいと思うことがあります。

 

ネットで調べるとフォームのサイズ変更は、簡単にはできそうになかったので、

  フォームのサイズを変更・・・こんなやつ

 

知っている知識のみでフォームのサイズ変更ができるようにしてみました。

 

以前に作成した、ミニツールのテキストエディタを利用します。

 

www.tuna-kichi.com

 

------------------------------------------------

外観

  外観

赤枠のスピンボタンを追加しました。

スピンボタンのオブジェクト名は以下のようにしました。

spnWidthUp・・・幅増加

spnWidthDown・・・幅減少

spnHeightUp・・・高さ増加

spnHeightDown・・・高さ減少

spnBothWHUp・・・幅/高さ両方増加

spnBothWHDown・・・幅/高さ両方減少


※ちなみに・・・

Width の発音は「ウィズ」(Withとほぼ一緒でネイティブでないと違いが判らないかも)

Height の発音は「ハイト」(ヘイトではない)

 

 

スピンボタンを設定したあと、ダブルクリックしてコードを書くところを開くと、

最初は「Change」 になっているので、右側のドロップボックスから

SpinDown SpinUp に変更してそれぞれにコードを書いていきます。

  スピンボタンコード

 

**********************************************

マクロ

高さ サイズダウン

Private Sub spnHeight_SpinDown()
    If frmCellTextEditor.Height < 209.4 Then 'オリジナルのサイズより小さくさせない

    Else ’10ptずつ減少させる
        frmCellTextEditor.Height = frmCellTextEditor.Height - 10
        txtEditWindow.Height = txtEditWindow.Height - 10
    End If
End Sub

------------------------------------------------

高さ サイズアップ

’10ptずつ増加させる 上限を設定しなくても問題ないでしょう
Private Sub
spnHeight_SpinUp()
    frmCellTextEditor.Height = frmCellTextEditor.Height + 10
    txtEditWindow.Height = txtEditWindow.Height + 10

End Sub

------------------------------------------------

幅 サイズダウン

Private Sub spnWidth_SpinDown()
    
    If frmCellTextEditor.Width - 10 < 379.2 Then 'オリジナルのサイズより小さくさせない
    
    Else
        frmCellTextEditor.Width = frmCellTextEditor.Width - 10
        txtEditWindow.Width = txtEditWindow.Width - 10        
    End If
    
End Sub

------------------------------------------------

幅 サイズアップ

Private Sub spnWidth_SpinUp()

    frmCellTextEditor.Width = frmCellTextEditor.Width + 10
    txtEditWindow.Width = txtEditWindow.Width + 10
    
End Sub

------------------------------------------------

幅/高さ 両方サイズダウン

'上記のマクロを呼び出せばよい
Private Sub
spnBothWH_SpinDown()

    Call spnHeight_SpinDown
    Call spnWidth_SpinDown

End Sub

------------------------------------------------

幅/高さ 両方サイズアップ

Private Sub spnBothWH_SpinUp()    
    Call spnHeight_SpinUp
    Call spnWidth_SpinUp

End Sub

------------------------------------------------

試しに10pt の決め打ちで作成してみたところ、ちょうどよかったので、

そのまま採用です。

 

テキストボックスもつけ足して、任意の数値分サイズを変更させる

ってのも考えましたが、面倒なので今回はやめました。

 

必要になったら、

frmCellTextEditor.Width = frmCellTextEditor.Width - (テキストボックスの値)

ってすればよいのですから。

 

 

_/_/_/_/_/_/_/_/_/_/_/

 

 

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/

 

 

 

PVアクセスランキング にほんブログ村 Excelのこととか色々 - にほんブログ村 にほんブログ村 子育てブログ 幼稚園児育児へ にほんブログ村 英語ブログ 初心者英語へ にほんブログ村 IT技術ブログ VBAへ