objForm.Id.focus のIdを変数にするには?


男子バレー部  2003-11-25 16:32:48  No: 110225  IP: [192.*.*.*]

objForm.Id.focus 
という命令をつかっているのですが、このIdの部分を
変数に置き換えたいのですが可能でしょうか?いろいろ調べましたが
わかりませんでした。おしえてください。


Dim i As String

 i = "pass"

objForm.i.focus
といったように変数iの位置に飛べという命令を書きたいのです、、、

編集 削除
nanashi  2003-11-25 17:28:31  No: 110226  IP: [192.*.*.*]

※環境は明記して下さい。

VB.NETはあんまりよく知らないんで、これくらいしか思いつきません。

    Dim sBuff As String
    Dim iCnt As Integer

    sBuff = "pass"

    With objForm.Controls
        For iCnt = 0 To .Count -1
            If .Item(iCnt).Name = sBuff Then
                .Item(iCnt).Focus()
                Exit For
            End If
        Next
    End With

編集 削除
男子バレー部  2003-11-25 18:41:39  No: 110227  IP: [192.*.*.*]

すみません。環境はVB6です。

編集 削除
男子バレー部  2003-11-25 18:52:25  No: 110228  IP: [192.*.*.*]

すみません。例が悪いですね。。。

例えば
----普通に書く場合-----
Text1.text = ok

----やりたいこと-------
Dim i As Integer

i = 1
Texti.text = ok

このままでは使えないのですが、
こういう場合で変数を埋め込む方法はあるのでしょうか?

編集 削除
通りすがり  2003-11-25 19:39:13  No: 110229  IP: [192.*.*.*]

配列にするってのほ駄目ですか?

編集 削除
男子バレー部  2003-11-25 19:56:34  No: 110230  IP: [192.*.*.*]

配列にできるのですか?
できるなら教えてください。

編集 削除
とろ  2003-11-25 20:04:42  No: 110231  IP: [192.*.*.*]

これで良いのでは?

  Dim i As Integer
  i = 1
  Controls("Text" & i).Text = ok

編集 削除
男子バレー部  2003-11-25 20:18:13  No: 110232  IP: [192.*.*.*]


Dim i As String

 i = "pass"

objForm.i.focus

Textではいけました。とろさんありがとうございます。
上の例ではどうしたら良いのでしょうか?

編集 削除
通りすがり  2003-11-26 09:13:16  No: 110233  IP: [192.*.*.*]

いまいちわからないのですがobjFormってなんですか?

編集 削除
nanashi  2003-11-26 11:36:57  No: 110234  IP: [192.*.*.*]

objFormが何で、i(pass?)が何だか全然分からないですね(^^;
focusっていう命令自体VB6で見たことが無かったのでVB.NETだと思ったんですが。

編集 削除
男子バレー部  2003-11-26 11:48:03  No: 110235  IP: [192.*.*.*]

説明不足すぎで申し訳ありません、
IEを立ち上げてホームページの入力フィールド
(INPUT  TYPE="text" name="pass")
に移動する命令でobjForm.focusを使っています.

Dim objDocument    As Object    'As MSHTML.HTMLDocument
Dim objForm        As Object    'As MSHTML.HTMLFormElement

Set IE = CreateObject("InternetExplorer.application")
Set objDocument = IE.Document
Set objForm = objDocument.Forms(0)
objForm.pass.focus

こんな感じなのですが、ホームページによって
(INPUT  TYPE="text" name="password")
などnameの値が異なるので
objForm.変数.focus
みたいなことをしたいのです。

編集 削除
魔界の仮面弁士  2003-11-26 17:38:02  No: 110236  IP: [192.*.*.*]

documentオブジェクトのgetElementsByNameメソッドを使えばOKかと。

編集 削除