文字列を変数名に変換できますか?

解決


ふぁんふぁん大佐  2005-01-26 17:52:56  No: 88026

例えば "abc"という文字列を
abcという変数名に変換して  abc=10  と代入とかって出来ますか?
可能なら方法をご教授お願いします。


じゃんぬねっと  URL  2005-01-26 18:20:46  No: 88027

PHP のような可変変数ってことでしょうか?
そんなことしなくても、自作コレクションに名前をつけてあげて識別するとか...


ふぁんふぁん大佐  2005-01-26 20:57:42  No: 88028

う〜ん、可変変数っていう言葉がよくわからないので調べてみました。

可変変数とは

  >変数名を動的に決定する技のこと
  >なにかと便利 

そうです。動的に変数名を設定したいんです。
それで、VBではそれは可能でしょうか?


abu  2005-01-26 21:09:06  No: 88029

VBはPHPじゃないので当然同じ書き方では実現できません
で、同じような機能をつくるのであれば
>そんなことしなくても、自作コレクションに名前をつけてあげて識別するとか...
ということだと思います。


・・・  2005-01-26 21:33:07  No: 88030

以前にも同じことが書いてあったような…
調べてみてください


ふぁんふぁん大佐  2005-01-27 00:15:16  No: 88031

すいません、自作コレクションというものがわからないのですが、、
調べてみましたが、

http://www.google.co.jp/search?hl=ja&q=%E8%87%AA%E4%BD%9C%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%80VB&lr=

よくわかりません。

それに名前をつけるとは具体的にどういうことでしょうか?
みなさんがレベルが高いことはわかりましたが、
レベルの低い人に対しても分かりやすく教えていただけると助かります。


ふぁんふぁん大佐  2005-01-27 00:44:27  No: 88032

過去ログを探して

http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200303/03030012.txt

を見つけました。

具体的方法は以下のような感じで出来ました。

Private Sub Form_Load()
  Dim Col As Object
  Set Col = CreateObject("Scripting.Dictionary")
  Col("abc") = 10
  MsgBox Col("abc")
End Sub

どうも有難う御座いました。


Say  2005-01-27 03:28:01  No: 88033

CollectionとDictionaryは別物です。

Collectionを使うなら、
    Dim colBuf As New Collection
    colBuf.Add 10, "abc"
    MsgBox colBuf("abc") '正確には MsgBox colBuf.Item("abc")

ところで、ヘルプのキーワードで「Collection オブジェクト」引くと
「Dictionary オブジェクト」がひっかかるし・・・。コマッタモンダ・・・


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加