0

私は次のコードを持っています:

objIE.Document.All.a_l_1.click

しかし、私はこのようなことをしたい:

objIE.Document.All. & some_var & .click
4

2 に答える 2

2

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

月の満ち欠けが干渉しなければ、すべて「機能」します。

于 2013-01-30T06:24:39.723 に答える
0

評価はあなたが望むものです。これにより、VBScript を文字列形式で評価できます。もちろん、その文字列を自由に作成できます。例えば:

Dim myElement, evalResult
myElement = "a_l_1"
evalResult = Eval("objIE.Document.All." & myElement & ".click")
于 2013-01-30T02:54:33.287 に答える