No.4ベストアンサー
- 回答日時:
>test(form1.Text1.Text)
>
>Public Function test(コントロール変数パラメータ)
>
>コントロール変数パラメータ=値を代入
>
>End Fuction
可能ですよ。サンプルです。試してみてください。
まず、フォームと標準モジュールを準備してください。
フォーム:
Form[Form1]にTextbox[Text1]とCommandButton[Command1]を配置してください。
([]内は、オブジェクト名です。)
Private Sub Command1_Click()
Call test(Text1)
End Sub
標準モジュール:
Public Function test(txt As TextBox)
txt.Text = "aaa"
End Function
CommandButtonを押すと、Textboxに”aaa”と表示されます。
※Public Function test(txt As ****)の****は、
「Textbox」又は「Object」又は「Control」 いずれでもOKです。
例:
Public Function test(txt As Textbox)
Public Function test(txt As Object)
Public Function test(txt As Control)
この辺りは、人それぞれになると思いますが・・・。
遅れてすみませんでした。
おかげさまで、VB初心者ながら、よい開発が出来たと思います。本当によい経験をしたと思っています。助かりました。ありがとうございました。
No.3
- 回答日時:
#2の方の答えでほぼパーフェクトなんですが、助言です。
標準モジュール内に作成した、Public宣言されているプロシージャでの処理に
必要となる値を入手したい、ということならば、
フォームモジュール内のオブジェクトの値を直接見に行くのではなく、
プロシージャを呼び出すときに、引数として呼び出し側から明示的に渡しましょう。
#2の方も触れていますが、もしLoadされていないフォームの中の値を参照しようとすると、
フォームは暗黙的にLoad、つまり起動してしまいます。
これに気がつかないでいて、あとあとバグの原因になってしまうことも少なくないです。
異なるモジュール間での値のやり取りは、きちんと入り口と出口を定めて、
決められたルールの中で限定的に行うべきです。
こうしておかないと、絶対管理できなくなってしまいます。
あとあとソースを追って・・・ということが難しくなるわけですね。
特に第3者には。
という助言でした。
この回答への補足
ご教授ありがとうございます。
今回の質問と路線はずれますが、コントロール系の変数名をpublic関数等にパラメータを渡して、その取得パラメータでコントロール系の変数を参照するにはどうすればよいのでしょうか?
例)
test(form1.Text1.Text)
Public Function test(コントロール変数パラメータ)
コントロール変数パラメータ=値を代入
End Fuction
これが可能であればかなり処理は楽なのですが・・・
ど素人ながらの質問です。
No.2
- 回答日時:
先の回答でTextboxにCaptionプロパティはありませんのでTextプロパティが正解です。
標準モジュールだけでなく別のFromから参照する場合もフォーム名に!(或いは.)を前に付けてやれば参照できます。(但しLoadされていないフォームのオブジェクトを参照するとLoadされますが・・)
From1!TEXT1.TEXT 或いは Form1.TEXT1.TEXT
でいいのでは
No.1
- 回答日時:
明示的にNew等で作られていないFormは、暗黙的にフォーム名と同じ名前でオブジェクトが作成されています。
Form1というフォームのText1というテキストボックスのCaptionプロパティを参照したい場合は、
Form1.Text1.Caption
という記述になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Excel(エクセル) Excel 参照元の値を参照したい 1 2022/08/20 18:58
- Excel(エクセル) VBAで、㉑という数値が、正しく、入力できない 2 2022/07/26 20:22
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- 統計学 信頼区間についての質問です。 6 2023/06/25 17:34
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
標準モジュールからフォームをコントロールしたい
Visual Basic(VBA)
-
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
-
4
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
Access サブフォームでの選択行の取得
その他(データベース)
-
7
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
【ACCESS】フォーム名/コントロール名を文字列型変数で指定するには
Access(アクセス)
-
10
VBAです。ユーザーフォームの表示させ、標準モジュールを読み込ませる方法について
Visual Basic(VBA)
-
11
Access-VBAのPublic変数について =基本的な事です=
Visual Basic(VBA)
-
12
「RunSQL」と「Execute」の違い
Access(アクセス)
-
13
テキストボックスの値を変数に代入したい。
Visual Basic(VBA)
-
14
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
15
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
16
アクセスのフィルタ nullについて。
その他(データベース)
-
17
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
18
accessVBA 「フォームが見つかりません」
その他(データベース)
-
19
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
20
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
モーダルフォームとモードレス...
-
ExcelVBAのユーザーフォームの...
-
Access-VBAのPublic変数につい...
-
ユーザーフォーム上に現在日時...
-
Microsoft Formsの「個人情報や...
-
VBAでユーザーフォームを再表示...
-
ユーザーフォームのラベルに時...
-
Hideについて(.NET)
-
エクセルVBAのフォームを最...
-
Excelにて、ユーザーフォームで...
-
フォームのテキストボックスな...
-
フォームの位置を取得したい
-
ブックをCloseまたはQuitで閉じ...
-
テキストボックス入力データの...
-
[VB6.0]フォーム上に配置したコ...
-
複数モニタ使用時のフォームの...
-
MSGBOXのフォント大きさ変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
エクセルVBAのフォームを最...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのテキストボ...
-
モーダルフォームとモードレス...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
Hideについて(.NET)
-
ACCESSのフォーム、開くんです...
-
MSGBOXのフォント大きさ変更
-
Excelにて、ユーザーフォームで...
-
【VBAユーザーフォームで閉じる...
-
ユーザーフォーム上に現在日時...
-
VBA(エクセル)のユーザー...
-
access2021 更新前に処理をしたい
-
Accessで、一つのフォーム画面...
-
コントロールの存在確認
-
Microsoft Formsの「個人情報や...
-
複数モニタ使用時のフォームの...
おすすめ情報