使用するファイル:「マクロの練習」フォルダー「フォーム作成練習.xlsm」その他
作成したフォームの名前を変更したり、別のエクセルファイルに移動したり、削除したりすることができます。その方法を紹介します。
ユーザーフォームが選択・表示されている状態で、プロパティウィンドウの「(オブジェクト名)」を変更すると、プロパティウインドウトップにあるユーザーフォーム(UserForm
)の表示が変更される。
同時に、プロジェクトエクスプローラーの「フォーム」ツリー上の表示も変更される。
⚠️ 名前変更時の「パス名が無効です」という警告
フォームの名前変更で、プロパティウインドウの(オブジェクト名)の内容を変更して辺境しようとしたとき、「パス名が無効です」という警告が出て変更できないことがある。
これは、エクセルブックの他の部分でまだ旧ユーザーフォーム名が参照されている可能性があることを示している。対処方法です。
ユーザーフォームが選択・表示されている状態で、プロパティウィンドウの「Caption」を変更すると、フォームの上部にある見出し(あるいはタイトル)部分の表示が変更する。
ここの例では、UserForm1 と UserForm2 がある。
ここの例では、UserForm2 をエクスポートします。
「エクスポート」とは、"出力する"という意味です。
現在のエクセルファイルにあるフォームを、現エクセルから切り離しし、フォーム単体のファイルとして保存します。
ここでは保存場所(フォルダー)として「マクロの練習」を選ぶ。
またファイル名はユーザーフォーム名が使われているが、このままで「保存」する。
🚫 フォームの名前の変更
エクスポートしたフォームファイルの名前を、Windows Explorer で変更することはやめましょう。変更したファイルは、その後使用できなくなる危険性大です!
⚠️ 注意:
インポート先のブックに、すでに同じ名前のフォームがある場合は、インポートできません。
🔰プロジェクトとは
プログラミングの世界では、1つのプログラムに必要な複数のファイルを「プロジェクト」にまとめて管理します。
この慣習に従って、Excel VBA でもプロジェクトという呼び方がされ、そのプロジェクトを管理する意味で「プロジェクトエクスプローラー」があります。
Excel VBA のプロジェクトは、ブックと同じものを指すと考えても良いでしょう。
もう一方のファイル「UserForm3.frx」は、自動的に選択されインポートされる。
移動先のファイルのプロジェクトエクスプローラーのフォームツリーに、インポートしたフォーム「UserForm3」が表示され、それをダブルクリックして表示したコードウィンドウでは、フォームそのものが表示される。
削除しようとするフォームを、エクスプローラーのツリーから探し、ダブルクリックして内容を表示し、確認する。
プロジェクトエクスプローラーで「フォーム」ツリーにあるフォームを右クリックし、表示されるメニューから「ユーザーフォームの解放」を選択する
プロジェクトエクスプローラーの「フォーム」ツリーから、該当フォームが削除される。