No.1ベストアンサー
- 回答日時:
自動的に作られるイベントプロシージャは「Private」指定ですから、
Formの外からは参照できません。
「Public」に変更すれば、外部から参照可能になります。
#「イベントプロシージャを外部から直接呼び出す」という
#プログラムが良いかどうかの議論は止めておきます。
ありがとうございます。
できました。
Form1に
Private Sub Command1_Click()
Form2.Show
Call Form2.Command1_Click
End Sub
Form2に
Public Sub Command1_Click()
Command1.Enabled = False
End Sub
と入れて「他のモジュールのプロシージャの呼び出したい。」が確認できました。
初心者の質問で申し訳ないのですが、
”#「イベントプロシージャを外部から直接呼び出す」という
#プログラムが良いかどうかの議論は止めておきます。”
とコメントいただきましたが、フォーム間でプロシージャのやり取りをするには本来どういった方法で行うのがいいでしょうか?
もしよろしければ、ご助言お願いいたします。
No.4
- 回答日時:
#1です。
> フォーム間でプロシージャのやり取りをするには本来どういった
> 方法で行うのがいいでしょうか?
プロシージャのやり取り(呼び出し)自体は構わないと思います。
但し、本来Priveteであるべき(Form1の内部処理である)「イベントプロシージャ」を直接呼び出すのはちょっと・・・
という事です。
これは、#2さんが言われている様に、
他の画面からも行いたい処理は、別に「公開用(共通処理)」として用意しておくのが良いと思います。
Form1に依存する動作が多い(Form1の複数のコントロールのプロパティ等を参照・操作するとか)なら、Form1内に用意し、
それほど依存しないなら、標準モジュールで用意します。
余談ですが、『「CommanButtonのClickイベント」を発生させる』事に限定するなら、
Form1.Comman1.Value=True
を実行することで、発生させることも可能です。
ありがとうございます。
あくまで例として今回CommandButtonを用いていましたが、
プロシージャのやり取りは使われているんですね。
Form1.Comman1.Value=True
という使い方も知りませんでした。
今後活用させていただきます。
No.3
- 回答日時:
回答というより、確認に近いかもしれませんがForm1、Form2はそれぞれクラス名、インスタンス名のどちらでしょうか。
質問の内容からすれば、なんとなくForm1、Form2がクラスのように感じるのですが。もしそうでなければ聞き流してください。Form1、Form2をクラスと考えているなら、Form2.Command1_Clickというような呼び出しは、共有メソッドにしか使用することはできません。
ただし、Command1_Clickはおそらくハンドラなので、共有メソッドではないはずです。
たとえば、
Class Form1
Dim f2 as Form2
Sub asdf()
f2.Command1_Click(f2.Command1,new System.Eventargs())
End Sub
End Class
というような構造になっていなければ呼び出せません。
この回答への補足
すみません。初心者であまりよくわかっていないです。
VBを立ち上げて最初にあらわれるForm1というものを指して表現しているのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
VB6で開発中…標準モジュール間での関数の呼び出し方は?
Visual Basic(VBA)
-
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
-
4
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
5
VBでグローバル変数を宣言するには
Visual Basic(VBA)
-
6
VBのフォームモジュールと標準モジュールの使い分け
Visual Basic(VBA)
-
7
VB6でユーザー定義型がNothingかどうか調べるには?
Visual Basic(VBA)
-
8
VB.NETで他のプロジェクトで作成したフォームを使う方法
Visual Basic(VBA)
-
9
フォームを開く時のイベント処理
Visual Basic(VBA)
-
10
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
-
11
private subモジュールを他のモジュールから呼び出して使う方法を教えてください(-.-)
Visual Basic(VBA)
-
12
VBの処理結果をEXCELシートへ出力したい
Visual Basic(VBA)
-
13
VBでストアドの戻りパラメータを受け取る方法
Visual Basic(VBA)
-
14
上下の位置揃えについて
Visual Basic(VBA)
-
15
VB6 開発環境のエディタに行番号を表示
Visual Basic(VBA)
-
16
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
17
vb6で異なるのプロジェクト間で、値を渡したい
Visual Basic(VBA)
-
18
Visual Basicから Spreadのスクロールを制御する方法
Visual Basic(VBA)
-
19
Visual Basic 6.0 コンボボックスのChangeイベントが発生しません
Visual Basic(VBA)
-
20
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
他のモジュールのプロシージャ...
-
VB.netで、動的な型変換を行い...
-
Mapに登録した値を登録した順に...
-
現在使用しているJAVAファイル...
-
コンポーネント指向って、どの...
-
Python クラスとモジュールの...
-
worksheetFunctionクラスのVloo...
-
パソコンへの「Dropbox...
-
VBA シートのボタン名を変更し...
-
実行時エラー 438になった時の...
-
「Columns("A:C")」の列文字を...
-
エクセルエラー13型が一致しま...
-
エクセルVBAのフォームを最...
-
ユーザーフォームを表示中にシ...
-
VBA(エクセル)で自動的にボタン...
-
ウォッチ式の文字数制限について
-
エクセルのVBAの標準モジュール...
-
カメラスクロールするのを動画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共通モジュールでDBへの接続と...
-
[VBA] Classから他のClassを呼...
-
Excel vbaで複数のテキストボッ...
-
用語の意味の違いを教えてくだ...
-
他のモジュールのプロシージャ...
-
WPFでCanvas の子要素にアクセ...
-
VB.netで、動的な型変換を行い...
-
リフレクションはどういったも...
-
C#でのWebRequestでのPOSTについて
-
VBAで、Functionを、クラスモジュール...
-
コンポーネント指向って、どの...
-
Mapに登録した値を登録した順に...
-
JDBCとJDBCドライバのライブラ...
-
Python クラスとモジュールの...
-
宣言とは違うオブジェクトを作...
-
Form2の変数をForm1に渡す方法...
-
VB.NETにて文字列で指定した関...
-
'StructLayout' の仕様について
-
(初歩)インスタンス化の負担と...
-
VBA モジュールレベル・パブリ...
おすすめ情報