次にUserFormで試してみましょう。
UserFormを挿入し、適当にコントロールを配置します。プロジェクトエクスプローラでUserFormを右クリックして[ファイルのエクスポート]をクリックします。
実行すると、標準モジュールのときと同じように保存するダイアログボックスが表示されます。
[保存]ボタンをクリックすれば、UserForm1が単独のファイルとしてエクスポートされます。
UserFormは、標準モジュールと違い、2つのファイルとしてエクスポートされます。ここでは「UserForm1.frm」と「UserForm1.frx」です。「UserForm1.frm」はテキスト形式ですので、メモ帳などで中を確認できます。
ボタンをクリックしたときなどに実行されるプロシージャも、このファイルにテキスト形式で保存されます。
もうひとつの「UserForm1.frx」はバイナリ形式ですので、メモ帳などでは閲覧できません。こちらの「UserForm1.frx」に、コントロールの位置などが記録されています。
UserFormのインポートも、基本的には標準モジュールと同じです。右クリックメニューから[ファイルのインポート]を実行すればいいです。ここでは、ちょっと意地悪して、バイナリ形式の「UserForm1.frx」が存在しない状態でインポートしてみます。
プロジェクトエクスプローラ内で右クリックし、[ファイルのインポート]を実行します。表示されるダイアログボックスで[UserForm1.frm]を選択して[開く]ボタンをクリックします。
すると・・・
さらに
おまけに
そんなに怒らなくてもいいじゃないすか。ちょっとイタズラしただけなのに。ったく冗談が通じませんね。「メモリが不足」って、そりゃ関係ないでしょ。で、そのエラーを記録したという「UserForm1.log」を見ると、次のように記録されています。
はいはい、その通りです。私が悪かったです。すみませんでしたね。
ちなみに、UserFormのインポートでは、すでに同じ名前のUserFormが存在した場合、標準モジュールのときと違い、自動的に名前が変更されてインポートされません。
Sheet1やThisWorkbookについては >> 次ページ