VBAでieを操作してフォームにIDとパスワードに自動入力するには? 削除


Message#2 2014年10月13日(月)22時38分
From: 管理人
こちらのサイト確認するとframeが使われていますね。
下記がhtmlソース内容です。

<html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7;EmulateIE8;EmulateIE9" />
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>みまもりくんオンラインサービス ログイン</title>
</head>
<frameset cols="0,*" border="0" framespacing="0" bordercolor="white"
frameborder="0">

<frame src="/m/GA1801HiddenFrame.do" name="hiddenFrame" noresize="noresize">



<frame src="/m/GA1801LoginService.do" name="contents">

<noframes>
このページを表示するには、フレームをサポートしているブラウザが必要です。
</noframes>
</frameset>
<frameset>
<noframes>
このページを表示するには、フレームをサポートしているブラウザが必要です。
</noframes>
</frameset>
</html>

こちらの<frame src="/m/GA1801LoginService.do" name="contents">にフォームが格納されています。
ちなみにこちらのhtmlソースを見ると以下のようななります。


<html><head>
<title>みまもりくんオンラインサービス ログイン</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7;EmulateIE8;EmulateIE9">
<link rel="stylesheet" href="css/style.css" type="text/css">
<script src="/m/js/18login.js"></script>
</head>
<body class="menuBody" onload="JavaScript:clientinfo();">
<table width="770" height="100%" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td width="154" valign="top" align="center" class="me01">
<img src="/m/images/spacer.gif" height="18" width="154" border="0">
<a href="https://www.mytruck.jp/mimamori/products/mimamori_online/index.html" target="_blank" title="みまもりくんオンラインサービス"><img src="/m/images/logo_s.gif" height="80" width="150" border="0"></a></td>
<td width="16" valign="top" class="me01"><img src="/m/images/spacer.gif" height="1" width="16" border="0"></td>
<td valign="top">
<table width="600" border="0" cellpadding="0" cellspacing="10">
<tbody><tr>
<td width="580" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td valign="top">

<table width="580" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td height="15" align="right"><a href="http://www.isuzu.co.jp" target="_blank"><img src="/m/images/isuzu.gif" height="13" width="67" border="0" alt="いすゞ自動車株式会社"></a></td>
</tr>
<tr>
<td height="33">
<img src="/m/titlebar/title_login.gif" height="33" width="580" border="0" alt="ログイン">
</td>
</tr>
</tbody></table>

</td>
</tr>
<tr>
<td height="447" valign="top" align="center">

<table width="560" border="0" cellpadding="0" cellspacing="0">
<form name="loginForm" method="POST" action="/m/loginCheck.do" onsubmit="return loginSubmit();"></form>
<tbody><tr>
<td height="45">
<span class="titlem2">ようこそ みまもりくんオンラインサービスへ。</span>
</td>
</tr>
<tr>
<td height="40" valign="top">
<p class="main">本サービスをご利用頂くには「
<a href="https://www.mytruck.jp/mimamori/products/mimamori_online/index.html" target="_blank" title="みまもりくんオンラインサービス"><span class="link">みまもりくんオンラインサービス</span></a>」のご契約が必要です。</p>
</td>
</tr>
<tr>
<td height="50" valign="top">
<img src="/m/images/mlist0.gif" height="7" width="10" border="0"><a href="https://www.mytruck.jp/mimamori/products/mimamori_online/index.html" target="_blank" title="みまもりくんオンラインサービス"><span class="link">「みまもりくんオンラインサービス」についてはこちらを参照ください</span></a>
</td>
</tr>

<tr>
<td valign="top" align="center">
<table width="100%" border="0" cellpadding="4" cellspacing="3">
<tbody><tr>
<td width="20%" height="35" align="center" class="ko_midasi" nowrap="">
ユーザーID
</td>
<td width="20%" align="center" class="me01" nowrap="">
<input type="text" name="loginID" maxlength="10" size="18" value="" style="ime-mode:disabled">
</td>
<td bgcolor="#e9e9e9" nowrap="">
<span class="mains">半角英数字<br>アルファベットは大文字で入力して下さい。</span>
</td>
</tr>
<tr>
<td height="35" align="center" class="ko_midasi" nowrap="">
パスワード
</td>
<td align="center" class="me01" nowrap="">
<input type="password" name="password" size="18" maxlength="12" value="">
</td>
<td bgcolor="#e9e9e9" nowrap="">
<span class="mains">半角英数字<br>アルファベットは大文字・小文字が区別されますのでご注意下さい。</span>
</td>
</tr>
</tbody></table>
</td>
</tr>
<tr class="buttonAndTable2"><td> </td></tr>
<tr>
<td align="center"><input type="image" name="" src="/m/images/login.gif" alt="ログイン"></td>
</tr>
<tr>
<td height="30" class="dummy"> </td>
</tr>
<tr>
<td valign="top">
<span class="grays"><ご注意事項><br>第三者にパスワードを知られた場合、悪用される可能性もありますので、パスワードはお客様の責任のもと大切に保管し、また定期的に変更することをお勧めします。
</span>
<br><br>
<img src="/m/images/mlist0.gif" height="7" width="10" border="0">
<a href="https://www.mytruck.jp/mimamori/FAQ/login/faq_login01.html" target="_blank" title="FAQ(ユーザーID)"><span class="links">ユーザーIDやパスワードをお忘れになった方はこちらを参照ください。</span></a>
</td>
</tr>

</tbody></table>



</td>
</tr>
</tbody></table>
</td>
</tr>
<tr>
<td>
<table width="580" border="0" cellpadding="0" cellspacing="0">
<tbody><tr>
<td colspan="2" bgcolor="#cccccc"><img src="/m/images/dot.gif" height="2" width="1" border="0"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#000033"><img src="/m/images/dot.gif" height="1" width="1" border="0"></td>
</tr>
<tr valign="top">
<td>
<img src="/m/images/copyright.gif" border="0" vspace="6" alt="Copyright(C) ISUZU MOTORS LIMITED">
</td>
<td align="right"><a href="https://www.mytruck.jp/mimamori/security/security.html" target="_blank" title="セキュリティポリシー"><img src="/m/images/btn_sec.gif" height="10" width="117" border="0" vspace="4" alt="セキュリティポリシー"></a>
</td>

</tr>
</tbody></table>


</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>



</body></html>


ですので、まずはframeのhtmlを取得してからフォームの値入力+クリック処理をしていきます。

下記を参考に確認してください。

一応、こちらで確認したところログインはできませんでしたが、それぞれ処理がうまくいっているかと思います。

Sub sample()

Dim objIE As InternetExplorer
Dim objTag As Object

'IEでfacebook画面を起動
Call ieView(objIE, "https://www.mytruck.jp/m/GA1801.do")


'フレームのオブジェクトを取得する
Set objFrame = objIE.document.frames(1).document

'フレーム内のテキストボックス・パスワードボックスに値を入力
For Each objTag In objFrame.getElementsByTagName("input")

If objTag.name = "loginID" Then
objTag.value = "★ユーザーID★"
End If

If objTag.name = "password" Then
objTag.value = "★パスワード★"
End If

If InStr(objTag.outerHTML, "ログイン") > 0 Then
objTag.Click
Call ieCheck(objIE)
End If


Next

End Sub


Sub ieView(objIE As InternetExplorer, _
      urlName As String, _
Optional viewFlg As Boolean = True, _
      Optional ieTop As Integer = 0, _
Optional ieLeft As Integer = 0, _
Optional ieWidth As Integer = 600, _
Optional ieHeight As Integer = 800)

 'IEのオブジェクトを作成する
 Set objIE = CreateObject("InternetExplorer.Application")

'IEを表示・非表示
objIE.Visible = viewFlg

 objIE.Top = ieTop 'Y位置
 objIE.Left = ieLeft 'X位置
 objIE.Width = ieWidth '幅
 objIE.Height = ieHeight '高さ

'指定したURLのページを表示する
 objIE.Navigate urlName

'IEが完全表示されるまで待機
Call ieCheck(objIE)

End Sub

Sub ieCheck(objIE As InternetExplorer)

 Dim timeOut As Date

 timeOut = Now + TimeSerial(0, 0, 10)

 Do While objIE.Busy = True Or objIE.ReadyState <> 4
  DoEvents
  Sleep 100
  If Now > timeOut Then
   objIE.Refresh
   timeOut = Now + TimeSerial(0, 0, 10)
  End If
 Loop

 timeOut = Now + TimeSerial(0, 0, 10)

 Do Until objIE.document.ReadyState = "complete"
  DoEvents
  Sleep 100
  If Now > timeOut Then
   objIE.Refresh
   timeOut = Now + TimeSerial(0, 0, 10)
  End If
 Loop

End Sub

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com