投稿日 | : 2002/12/03(Tue) 04:11 |
投稿者 | : あずま |
Eメール | : |
URL | : |
タイトル | : Re^2: 文字列を変数名として扱う事は出来ますか? |
> 私の勘違いでしたら申し訳ありません
> 以下の様なことでしょうか?
>
> Private Type STX
> ST_NUM As String
> ST_NAME As String
> ST_TEL As String
> End Type
>
> Private ST_A As STX
>
> Public Function GetST(Para As String) As String
> GetST = SelectST(Para)
> End Function
>
> Private Function SelectST(Para As String) As String
> Dim Ret As String
> Select Case Para
> Case "ST_NUM": Ret = ST_A.ST_NUM
> Case "ST_NAME": Ret = ST_A.ST_NAME
> Case "ST_TEL": Ret = ST_A.ST_TEL
> End Select
> SelectST = Ret
> End Function
回答ありがとう御座います。
でもって、説明不足ですみません。
えーとですね、上記のSelect Caseの部分をなくしたいんですよ。
この場合、変数名の”ST_A.”という部分が共通してますし、
続くメンバ名(ST_NUMなど)は引数から来てますよね?
これをうまく繋ぐことが出来ないかなぁと思いまして。
理想としてはこんな感じです。
'// 初期化
ST_A.ST_NUM = 10
'// 呼び出し
Dim Num as String
Num = SelectST("ST_NUM")
Private Function SelectST(Para As String) As String
Dim Ret As String
Ret = "ST_A." + Para … @
SelectST = Ret
End Function
単にこれだけですと@の部分には"ST_A.ST_NUM"の様な文字列が
入ってしまいます。この文字列を変数名(ST_A.ST_NUM)と認識させ、
ST_A.ST_NUMの値("10")をRet⇒Numに返したいのです。
プログラム的に無理があるのでしょうか…