0
私はこの質問が100万回のサイトで何百万回も尋ねられてきたことを知っていますが、どうやってそれを行うのか分かりません。私はVBAを使ってインターネットエクスプローラサイトを開き、そのサイトにログインしようとしています。私は自分のコードのHTML部分に苦労しています。 HTMLコードには「名前」属性はありません。これが私を捨てています。チェックVBAを使用してInternet Explorerのサイトにログインする
参考: Microsoftインターネットコントロール、 Microsoftスクリプトコントロール1.0、ログインテキストボックスの のMicrosoft HTMLオブジェクトライブラリ
HTML:パスワードテキストボックスの
<input class="ui-autocomplete-input" id="BIA_Login" autofocus="" type="text" autocomplete="off">
はHTML:
<input class="ui-autocomplete-input" id="BIA_Pass" type="password" autocomplete="off">
Private Sub CommandButton21_Click()
Const cURL = "xxxxxxxxxxx.com"
Const cUsername = "xxxxxxx"
Const cPassword = "xxxxxxx"
Dim IE As InternetExplorer
Dim doc As HTMLDocument
Dim LoginForm As HTMLFormElement
Dim UserNameInputBox As HTMLInputElement
Dim PasswordInputBox As HTMLInputElement
Dim SignInButton As HTMLInputButtonElement
Dim HTMLelement As IHTMLElement
Set IE = New InternetExplorer
IE.Visible = True
IE.navigate cURL
Do While IE.readyState <> READYSTATE_COMPLETE Or IE.busy: DoEvents: Loop
Set doc = IE.document
Set LoginForm = doc.forms(0)
Set UserNameInputBox = LoginForm.elements("BIA_Login")
UserNameInputBox.Value = cUsername
Set PasswordInputBox = LoginForm.elements("BIA_Pass")
PasswordInputBox.Value = cPassword
は、それは私も考えたものだ参照してください、私は、「実行時エラー 『91』:オブジェクト変数またはブロック変数が設定されていませんで」を取得保管「を設定しUserNameInputBox = LoginForm.getElementById(」BIA_Login「)」とコード行がハイライトされました – Davey
@Davey - レイトバインディングを試し、すべてをオブジェクトとして薄暗くしてください。 *(免責事項、私はそれが私が一般的に行うことであると主張しています。変数に関連付けられたオブジェクトタイプが間違っている可能性があります.... wait ... try 'Set UserNameInputBox = doc.getElementById(" BIA_Login ")' –
はい、HTMLInputElementクラスにgetElementByIdが見つからないことを強調表示します。 – Davey