• ベストアンサー

任意の文字列を変数にする方法

お世話になります。 掲題の件につきまして質問させていただきます。 テキストファイルに記述されている文字列を ルールにのっとり、読み込んだ変数に置き換える方法が よくわかりません。 ご存知のかたがいらっしゃいましたらどうぞご教授ください。 例) <テキストファイル> ☆☆☆$hensuu☆☆☆ <vb> (1)テキストファイルより、上記文字列を取得 (2)$以下の文字列(hensuu)をvbで宣言した変数(hennsuu)と置き換える。 (3)vb側でhennsuu = 100とすると、 vbからテキストファイルを読み込んだ時点で hennsuuに”☆☆☆100☆☆☆”と代入される。 わかりづらい例で申し訳ありませんがどうぞよろしくお願い申し上げます。 失礼いたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 テキストファイルから読み込んだ文字列(の一部)を変数名として使用するとういことでしょうか。 それなら、多分出来ないと思います。 「hensuu」という文字列も取っておきたいなら、配列かユーザー定義型に入れるのはどうですか。 ユーザー定義型なら、 宣言部に、 Type myData   myName As String   myValue As String End Type としておいて、プロシージャ内で、 Dim temp As myData With temp   .myName = "hensuu"   .myValue = "☆☆☆100☆☆☆" End With という感じです。 ちなみに、文字列"☆☆☆$hensuu☆☆☆"から"hensuu"と取り出して、"100"と入れ替えるのはわかりますよね。 あと、テキストファイルからのデータ取得も。

Ha88888
質問者

お礼

ご回答ありがとうございました。 返答が遅れまして申し訳ありませんでした。 出来ないのですか…。 テキストファイルから読み込むのをやめて、対象となる変数にひとつずつpropertyを設定してやるしかないのでしょうか。 <モジュール> Public mHensuu As String Public Property Let hensuu(ByVal vData As String) mHensuu = vData End Property Public Property Get hensuu() As String hensuu = "☆☆☆" & mHensuu & "☆☆☆" End Property <フォーム> Private Sub Command1_Click() hensuu = 100 Debug.Print hensuu End Sub みたいな感じで。 ありがとうございました。

その他の回答 (2)

  • 2ch
  • ベストアンサー率51% (64/125)
回答No.3

#2が言いたいこともわかりますが、、、 質問は 「VBの変数名が『hensuu』だから、ファイルの『$hensuu』も変わるように」 と言いたいのではないかと思われ、、、

Ha88888
質問者

お礼

そうなのです。 なかなか前に進まずで悩んでおります。。。 ご意見ありがとうございました。

  • tom777
  • ベストアンサー率77% (14/18)
回答No.2

"☆☆☆$hensuu☆☆☆" が "☆☆☆100☆☆☆"に なればいいのですよね? VB6.0ならReplace関数で簡単に変換できます。 一度、HELPを見てみて下さい。

Ha88888
質問者

お礼

ご返答ありがとうございました。 $hensuu→vbの変数(hensuu)と置き換えたいのです。 要するに、メール送信用のテンプレートファイルを 作っておいて、そこに変数を当てはめてやるような動きを させたいのです。 たとえば、以下のような感じのことができればと考えております。 <テキストファイル> $hensuuさん、こんにちは。 こんど、$nitijiに会議があります。 $basyoへいらしてください。 <vb> hensuu = "テスト タロウ" nitiji = "4月1日" basyo = "本社11F" <メール本文> テスト タロウさん、こんにちは。 こんど、4月1日に会議があります。 本社11Fへいらしてください。 てな感じです。 ありがとうございました。

関連するQ&A