午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

Visual Basic Editorでユーザーフォームを閉じたときにコード画面のままにするには

 
 
Visual Basic Editorでユーザーフォームを閉じたときにコード画面のままにするには
標準モジュールからユーザーフォームをモードレスで表示してから閉じる
 
 
通常だとユーザーフォームを閉じるとコード画面を開いていてもデザイン画面が表示されるけど、なぜかこれでコード画面のままになる、こっちのほうが便利!
元に戻すにはデザイン画面を一度表示するだけ
 
 
例えばUserForm2_ExTextBoxって言う名前を付けたユーザーフォームの場合なら

f:id:gogowaten:20191030164509p:plain

UserForm2_ExTextBoxのデザイン画面
 
 
標準モジュールにユーザーフォームを表示するマクロを書いて実行

f:id:gogowaten:20191030164527p:plain

標準モジュールならどこでもいい
UserForm2_ExTextBoxをvbModeless(モードレス)で表示するマクロ
Sub tekitou3()
    UserForm2_ExTextBox.Show vbModeless
End Sub
これを実行して
 
 
イメージ 3
表示されたら閉じる
これで準備完了
 
 
イメージ 4
プロジェクトエクスプローラのUserForm2_ExTextBoxを右クリックして
メニューからコードの表示で
 
コード画面にして

f:id:gogowaten:20191030164540p:plain

後はいつものように実行してフォームを開く
 
フォームを閉じる
f:id:gogowaten:20191030164550p:plain
通常ならここでフォームを閉じるとデザイン画面が表示されるけど
 
 
f:id:gogowaten:20191030164601p:plain
 
コード画面が保たれている
すごーい!
 
一度標準モジュールからモードレスで表示した後は、デザイン画面を表示しない限りはこの状態が続くみたい、逆に言うと一度でもデザイン画面を表示してしまうと元に戻ってしまう
 
 
マクロを実行してエラーが出たら「ここでエラーになってます!」ってコード画面で教えてくれるから、書き直すためにフォームを閉じるんだけどデザイン画面に切り替わってしまう、そこからまたコード画面に切り替えるのがホントめんどくさかったけど、これでほぼ解消!