私は次のコードを持っています:
objIE.Document.All.a_l_1.click
しかし、私はこのようなことをしたい:
objIE.Document.All. & some_var & .click
私は次のコードを持っています:
objIE.Document.All.a_l_1.click
しかし、私はこのようなことをしたい:
objIE.Document.All. & some_var & .click
document.all
コレクションの要素に名前でアクセスできます。例:
document.all("a_l_1").click
Execute
したがって、またはは必要ありませんEval()
。
アップデート:
この .HTA:
<html>
<!-- !! http://stackoverflow.com/questions/14595716/using-variables-in-commands-vbscript
-->
<head>
<title>VariableDemo</title>
<HTA:APPLICATION
APPLICATIONNAME="VariableDemo"
>
<SCRIPT Language="VBScript">
Sub AClick()
Report document.all.bttA
Dim sBtt
For Each sBtt In Array("bttB", "bttC")
document.all(sBtt).click
Next
End Sub
Sub XClick(bttX)
Report bttX
End Sub
Sub Report(bttX)
document.all("txtA").innerText = bttX.innerText & ": " & Now() & vbCrLf & document.all("txtA").innerText
End Sub
</SCRIPT>
</head>
<body>
<form>
<button id="bttA" onclick="AClick">A</button>
<button id="bttB" onclick="XClick Me">B</button>
<button id="bttC" onclick="XClick Me">C</button>
<br />
<textarea id="txtA" rows="15" cols="40"></textarea>
</form>
</body>
</html>
それを示します
Report document.all.bttA - access via named property
document.all("txtA").innerText = ... - access via string literal
For Each sBtt In Array("bttB", "bttC") - access via variable
document.all(sBtt).click
月の満ち欠けが干渉しなければ、すべて「機能」します。
評価はあなたが望むものです。これにより、VBScript を文字列形式で評価できます。もちろん、その文字列を自由に作成できます。例えば:
Dim myElement, evalResult
myElement = "a_l_1"
evalResult = Eval("objIE.Document.All." & myElement & ".click")