アプリ版:「スタンプのみでお礼する」機能のリリースについて

文字列から文字を抜き取って、
指定したテキストボックスに
ループで挿入する処理を作成しています。
イメージとしては下記のような感じです

ループ

 ・取得した文字←文字列[カウント]
 ・「テキストボックス名 + カウント.Text」← 取得した文字 
 ・カウント = カウント + 1

ループ

真中の行の「テキストボックス名 + カウント.Text」を
定義するにはどうすれば良いでしょうか?

A 回答 (4件)

テキストボックス名をtxtText1みたいだして、


カウンタの変数をintCountとすると、

Controls("txtText" & intCount).Text
となります。

もしくは、自分自身のForm上のコントロールであれば、Controlsコレクションを省略して
Me("txtText" & intCount).Text
となります。
    • good
    • 2

CallByNameをつかいませう。



X = InputBox("TextBoxの名前は?")
MsgBox CallByName(Form1, X, VbGet)

とかすると、指定したTextBoxのTextプロパティが取得できます。
正確には

MsgBox CallByName(CallByName(Form1, X, VbGet), "Text", VbGet)

とするべきですが、Textプロパティを参照する場合に限って、上の構文で良いです。

詳細はCallByNameをMSDNライブラリでごらんくださいな。
ちなみにVB6でなければできなかったような・・・。
    • good
    • 0
この回答へのお礼

>回答者の皆様

ありがとうございました。
参考にさせて、作成する事が出来ました!

お礼日時:2002/10/01 16:26

こんにちは。

maruru01です。

よく分かりません。
TextBox1、TextBox2、TextBox3などのテキストボックスが複数あり、そこに文字を挿入(元の値につなげたり、間に挟むということ?)するということでしょうか。
どういう文字をどのテキストボックスに"挿入"するのでしょうか。
イメージのループの中には、"挿入"という操作がありませんが。

具体的に例を出してくれないでしょうか。
    • good
    • 1

残念ですが、そのような記述はできません。



代わりの方法として、テキストボックスを配列にすることができます。

テキストボックス名(カウント).text ← 取得した文字

とすればOKです。

テキストボックスの配列化は、テキストボックスのindexプロパティを設定すればOKです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています