投稿日 | : 2002/12/02(Mon) 06:56 |
投稿者 | : あずま |
Eメール | : |
URL | : |
タイトル | : 文字列を変数名として扱う事は出来ますか? |
はじめまして。
VBで質問なのですが、プライベートな構造体で
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("ST_NUM") の様に引数へ変数名を入れて、
何らかの形で各構造体のメンバ変数にアクセス(値の取得など)
したいのですが、このような事は可能でしょう?
私の場合、関数内で select case を使い、全てのパターンに対し
public function GetST(Para as string) as xxx
DIM Ret
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
:
のようにチェックしてるのですが、同じような処理を他の関数でも
使っているため、メンバが増えると2重3重の手間になってしまいます。
public function GetST(Para as string) as xxx
DIM Ret
Ret = XXX("ST_A." & Para)
のように変数名を文字列で指定し、実際の変数へアクセス出来る関数が
あれば、ソースコードも見やすく便利で良いのですが…
どなたか良い方法をご存知の方いらっしゃいましたら教えて頂けませんでしょうか?
よろしくお願い致します。