忍者ブログ

各フォームを呼び出すランチャーマクロ(ランチャー5)

2021年03月20日
ここのところユーザーフォームを使ったマクロを作ってきた。

第1弾 文頭および文末に文字を挿入するマクロ
第2弾 文頭および文末の文字を削除するマクロ
第3弾 Mid関数で文字を切り出すマクロ
第4弾 指定位置に文字を挿入するマクロ
今回は、第1弾~第4弾で作ったフォームを呼び出すフォーム作った。

ポイントは、数値の入力制限で使用した_KeyDownプロパティを使って
単一キー操作で各フォームを呼べるようにしたこと。

_KeyDownプロパティは、ユーザーフォームに対しては指定できないので、
TabIndexが1のキャンセルボタンに対して_KeyDownプロパティを設定。

起動時にアクティブになっているボタンに設定することがポイント。
ダウンロード



ちなみに、これらマクロを作ったきっかけである
1文字目の「’」のコントロールは残念ながらできなかった。。。

ユーザーフォームは、各オブジェクトを作るのがめんどくさいけど、
今回、_KeyDownプロパティで各モジュールを呼べることが分かったので
キー一覧書いたテキストボックスに_KeyDownプロパティを設定するのもありかな。
以下ソース





Private Sub CommandButton1_Click() 'cancel
Unload Me
End Sub

Private Sub CommandButton2_Click() 'trimText
Unload Me
strTrimForm.Show vbModal '・・・ モーダル表示
End Sub

Private Sub CommandButton4_Click() 'AddText
Unload Me
strAddForm.Show vbModal '・・・ モーダル表示
End Sub

Private Sub CommandButton5_Click() 'MidText
Unload Me
strMidForm.Show vbModal '・・・ モーダル表示

End Sub

Private Sub CommandButton6_Click() 'InsertText
Unload Me
strInsertForm.Show vbModal '・・・ モーダル表示

End Sub


Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case vbKeyA
Call CommandButton4_Click
Case vbKeyI
Call CommandButton6_Click
Case vbKeyT
Call CommandButton2_Click
Case vbKeyM
Call CommandButton5_Click
End Select

End Sub
PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字