|
▼俺は何処から来たのか さん:
こんにちは。
>ありがとうございます。
>
>確かに、
>FormX.Tag = Me.Name
>FormX.Show
>とすると、FormXのモジュールで呼び出し側の
>フォーム名が得られました。
>
>しかし、FormXのモジュール内で、呼び出し側の
>フォームをオブジェクトとして、呼び出し側フォーム
>上のコントロールのプロパティに値を設定したり
>できませんでした。
>
>例えば、FormX内で、
>
>Set SS= FormX.Tag
>SS.TextBox1 = "1234"
>
>ということがませんでした。
>つまり、オブジェクトの名称を得て、
>それをオブジェクトとして認識させる方法があれば
>お教えください。
>よろしくお願いします。
>
>
>▼[名前なし] さん:
>>呼び出し側のフォームで、FormXのTagプロパティに名前をセットして
>>
>> FormX.Tag = Me.Name
>> FormX.Show
>>
>>FormXフォーム側でMe.Tagで判別するとか。
>>
>> Select Case Me.Tag
>> Case "UserForm1"
>> ・
>> ・
>> ・
基本的には、[名前なし] さんの手法に賛成です。FormXの結合度が弱そうだから・・。
Tagプロパティで問題があるならば、独自プロパティをFormXに作成しては?
FormXのモジュールに
Public caller_form As Object
等と宣言しておいて
呼び出しフォームでは
with FormX
Set .caller_form = Me
.Show
End With
なんていうコード
すると
FormXでは、
MsgBox caller_form.TextBox1.Text
なんてコードが作動します。
|
|