objForm.Id.focus
という命令をつかっているのですが、このIdの部分を
変数に置き換えたいのですが可能でしょうか?いろいろ調べましたが
わかりませんでした。おしえてください。
例
Dim i As String
i = "pass"
objForm.i.focus
といったように変数iの位置に飛べという命令を書きたいのです、、、
※環境は明記して下さい。
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
すみません。環境はVB6です。
すみません。例が悪いですね。。。
例えば
----普通に書く場合-----
Text1.text = ok
----やりたいこと-------
Dim i As Integer
i = 1
Texti.text = ok
このままでは使えないのですが、
こういう場合で変数を埋め込む方法はあるのでしょうか?
配列にするってのほ駄目ですか?
配列にできるのですか?
できるなら教えてください。
これで良いのでは?
Dim i As Integer
i = 1
Controls("Text" & i).Text = ok
例
Dim i As String
i = "pass"
objForm.i.focus
Textではいけました。とろさんありがとうございます。
上の例ではどうしたら良いのでしょうか?
いまいちわからないのですがobjFormってなんですか?
objFormが何で、i(pass?)が何だか全然分からないですね(^^;
focusっていう命令自体VB6で見たことが無かったのでVB.NETだと思ったんですが。
説明不足すぎで申し訳ありません、
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
みたいなことをしたいのです。
documentオブジェクトのgetElementsByNameメソッドを使えばOKかと。
ツイート | ![]() |