2

私は VBA を使った開発 (チェーンソーで企業の煩雑な仕事を切り抜ける) が大好きで、これらのマクロをさまざまなアドイン参照 (IE、Excel、Outlook、および Word オートメーション オブジェクト、そのうち IE が私のベストです) で拡張することに長けています。 '騙す')。

とにかく、Web ページ上の特定のオブジェクトの OOP '内臓' のリストを取得する方法に興味があります。私の IDE ではヒントが得られないためです。

以下にサンプル コードを示します。shdocvw.dll が参照されていることを確認し、「www.mywebsite.com」にユーザー名とパスワードのテキスト ボックスとログイン ボタンがあると仮定します。

Sub MyIEAutomationExample
    Dim IE as InternetExplorer
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate ("http://www.mywebsite.com")

    Do Until IE.ReadyState = READYSTATE_COMPLETE 'Delay for loading page
    Loop

    IE.Document.all.Item("tbxUserName").Value = "Nxwtypx"
    IE.Document.all.Item("tbxPassword").Value = InputBox("Please enter your password.")
    IE.Document.all.Item("btnLogin").Click
End Sub

私の心にある質問は、tbxUserName、tbxPassword、または btnLogin の他のプロパティ/メソッド/イベントを確認したい場合はどうすればよいかということです。標準オブジェクトに利用できるリファレンスはありますか?

それでも、私が知る限り、社内で開発されたリッチ テキスト ボックスのようなより複雑なオブジェクトはどうでしょうか?

4

2 に答える 2

1

表示している標準の HTML ページの場合、オブジェクトのdocumentプロパティはInternetExplorerオブジェクトを返す必要がありHTMLDocumentます。「Microsoft HTML Object Library」への参照を追加すると、 のオブジェクト モデルが表示されHTMLDocumentます。

個々の HTML 要素の詳細は、"HTML" + 要素名 + "Element" の下にあります。たとえば、button要素の詳細は次の場所にあります。HTMLButtonElement

非標準オブジェクトについて何がわかるかわかりません。時計を追加するというRemouの提案は、ここでは最良のアイデアかもしれません. その後、[ウォッチ] ウィンドウを使用して、非標準オブジェクトに対応するノードを見つけ、それが公開するプロパティ (存在する場合) を確認できます。

最後に、見ているドキュメントが XHTML または XML 形式である場合は、(InternetExplorer の代わりに) XMLHttpRequest を使用することをお勧めします。これにより、XPath と呼ばれるより強力な言語を使用して、調べたいノードを見つけることができます。この回答を参照してください。詳細は別の質問へ

于 2010-11-22T23:06:28.747 に答える