1

InternetExplorer.Applicationオブジェクトを使用してWebサイトにログインするVB6プロジェクトを作成しています。ログインフォームはモーダルASPフォームです。.Documentのすべての要素は、親ページからのものです。ログインボタンをクリックすると、モーダルログインフォームの要素にアクセスできます。

これは私のコードです:

Set IE = CreateObject("InternetExplorer.Application")

IE.navigate "http://www.guestlink.co.uk"
IE.Visible = True

Do
    DoEvents
Loop Until IE.ReadyState = READYSTATE_COMPLETE

IE.Document.All.Item("ctl00_imgLogin").Click
Do
    DoEvents
Loop Until IE.ReadyState = READYSTATE_COMPLETE

With IE.Document.aspnetForm
    .getElementById("ctl00_content_txtUserName").Value = "MyName"
    ....
End With

IE.Document.aspnetFormがモーダルASPフォームではなく、親ページの要素を指しているため、VBは「オブジェクト変数が設定されていません」というエラーを出します。.documentでモーダルフォームを指すようにするにはどうすればよいですか?

4

1 に答える 1

0

使用しているURLはメインページ用ですが、ログインフォームはIFRAME内にあります。URL(IE.navigate)を次のように変更してみてください。

https://www.guestlink.co.uk/login.aspx?placeValuesBefore

于 2012-11-13T03:18:37.047 に答える