- ベストアンサー
VBAについての全般的な初心者の質問です
VBAについての疑問です、宜しくお願いします。 VBAのフォームをユーザフォームから作成しました。 ボタン、テキストボックス、コンボボックス等を貼り付けて、コードを見てみると、 ボタン、テキストボックス、コンボボックスのイベントが発生したときのみのコードしか見えません。 複数のフォーム(仮にA、B、Cとします)を作成すると各フォームの名前がオブジェクト名となって いました。 疑問点1:全体を合わせたものが、標準モジュールというものになるのでしょうか。 最初のオブジェクト作成時には、標準モジュールとユーザーモジュールのどちらを選択す るのでしょうか。また、両者は何がどう違って、どのように使い分けるのでしょうか。 また、オブジェクト、モジュール、プロシジャとの関係はどうなのでしょうか。 疑問点2:各オブジェクト間で共通で定義されるグローバル変数、配列みたいなものは、一体、どこ で宣言してやるのでしょうか。 単にボタンとかテキストボックスのイベント発生文前に書いてやるだけでよいのでしょう か。 各オブジェクト間で共通で呼び出したいサブルーチン、メソッドは何処に書いてやれば よいのでしょうか。(そのような呼び出し方が許されているという前提での質問です。) 疑問点3:フォーム自身を作成した(宣言した)文(コード)、フォームに貼り付けた、ボタン、テキスト ボックス、コンボボックスのAdd文(コード)、また、例えば、これらを着色した文(コード)等 を見ることは出来ないのでしょうか。 フォーム自身をInitializeする必要のある場合とは、どのような場合でしょうか。 この場合は、フォーム(オブジェクト)の名前に関係なく、「Private Sub UserForm_Initialize()」でなくてはならないのでしょうか。 フォーム自身のスクロールバー等の設定は一体何処に書いてやればいいのでしょうか。 プロパティからの設定しか許されてないのでしょうか。 疑問点4:Micro Script Editorにはそれが書かれているようですが、何故かHTMLで書かれていま す。 何故VBAで書かれていないのでしょうか。 コントロールは表示されますが、フォームを呼び出すツールとか、メニューが何処にも 見当たりません。 以上長文ですが、宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 >VBAについての全般的な初心者の質問です もし、その質問が初心者の質問でしょうか、私にはそう思えません。自分がVBAを書いていて疑問になることをまとめたということでしょうけれども、1の内容など、経験者がプロレベルの人に聞くような内容で、簡単なものではありません。私が、そのようなことを、まともに教えられるような立場でもありません。 それと、本当に、今の自分が必要な質問に絞ってください。欲張っても、質問の内容が甘くなっているし、回答側も全部を答えようとすると、そのポイントが甘くなってしまうように思います。 >全体を合わせたものが、標準モジュールというものになるのでしょうか。 VBAプログラマで、UserForm上で、標準モジュールのサブルーチンやPublic ステートメントを使って、コードを書く人がどのぐらいいるのでしょうか。ユーザー定義関数は別です。UserForm のコードは、基本的に、UserForm モジュールに書きます。 あえて標準モジュールを使うなら、それは、UserForm が複数ある場合や複雑な処理を共有する場合です。UserForm 単体のサブルーチンなら、UserForm 上のモジュールに書くのが自然です。もし、全体的な統合的なコードを書くなら、Class に書くかもしれませんが、VBAの場合は、そういう趣向といったほうがよいかもしれません。 VBAというよりも、Excel VBAですが、ローカルモジュールとグローバルモジュールは、同じ種類のVB6 とは、違った使い方の印象が強いです。 3,4 の質問は実際的ではありませんから、割愛します。Initialize は、必要なら、テキストをごらんください。文字の種類によって色分けできるのは、現行のVBエディタではありません。Microsoft Script Editor は、実際、使いにくいと違いますか?VBScript は編集できるようですが、それすら、テキストエディタを使ってしまいます。
その他の回答 (1)
- hige_082
- ベストアンサー率50% (379/747)
>VBAについての全般的な初心者の質問です なるほど、初心者が疑問に思いそうな質問ですね しかし、質問疑問に答えるのは簡単ですが、質問者さんを納得させるだけの 説明をすると、スペースが足りません userformを使用する上で基本的なことばかりなので VBAのサイトや解説書で勉強することをお薦めします 簡単な回答 疑問点1:違います。全体を合わせたものはプロジェクトです 疑問点2:使用の用途により、記述場所が異なります 疑問点3:出来ませんが、プロパティで確認変更できます 疑問点4:OfficeのファイルをHTML形式で保存したものを編集することが、主な目的なのでHTML形式となっています