フレーム内のテキストボックスに入力したい


Message#から前件を

日から 前を
Q&A掲示板へ

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Message#1 2015年8月17日(月)14時48分
From: 高山修
返事 削除 変更
最近、エクセルVBAによるIE操作を始めたばかりの超初心者です。
現在、貴HPを参考にしてデータをダウンローするためのマクロを作成しておりますが
テキストデータを入力するところで躓いてしまいました。
ご指導よろしくお願い致します。

<操作内容>
1. IEをVBAで開く
2. 指定したURLで再度ページを表示する
3. ID,PWを入力する
4. ログインボタンをクリックする
5. 照会・ダウンロードのタグ(MainleftMenu)をframeTagClickでクリックする
6. 得意先コードにコードを入力する(frameFormText) ← ここで操作できない


<table class="tblSrc">
<tr>
<td class="tdlcItemRight">
得意先コード
</TD>
<td class="tdlcItemLeft">
<input type="text" name="lcSrcTokuisakiCode" size="22" maxlength="7" value="" class="lcSrcTokuisakiCode"><!--
--></td>
<td class="tdlcItemRight">
得意先名
</td>
<td class="tdlcItemLeft">
<input type="text" name="lcSrcTokuisakiNamk" size="32" maxlength="40" value="" class="lcSrcTokuisakiNamk"><!--
--></td>
<td class="tdlcbtnsearch">
<INPUT type="image" name="btn030020_search" border="0" src="images/btn/btn_search.gif" alt="検索" onClick='fnc_vmJumpFindKaisha()'><!--
--></td>
</tr>
<tr>
<td rowspan="5" class="tdlcPadding">
</td>
</tr>
</table>


Sub IE_open()


'IE起動
Set objIE = CreateObject("InternetExplorer.application")

With objIE

'見えるようにする(お約束)
.Visible = True

'文字列で指定したURLに飛ぶ
.Navigate "https://www. "


'表示終了まで待つ
While .Busy Or .ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend

'項目名を指定して、データをセットする
.Document.all.kaiinuserId.Value = "ユーザー名"
.Document.all.pswdTxtc.Value = "パスワード"

'ログインボタンを押す
.Document.all.btnP010020_logonImgtop.Click

'表示終了まで待つ
While .Busy Or .ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend

'2秒停止
Call WaitFor(2)

'ボタンをクリック
Call frameTagClick(objIE, "IMG", "imgM2104")

'表示終了まで待つ
While .Busy Or .ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend

'得意先コードのテキストエリアに値を入力
'Call frameFormText (objIE, "lcSrcTokuisakiCode", "1234567") ← ここで入力できない

End With

End Sub

Sub frameFormText(objIE As InternetExplorer, _
nameValue As String, _
tagValue As String)

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

 For i = 0 To objFrame.Length - 1
  'フレームドキュメントのオブジェクトを取得する
  Set objFrameDoc = objFrame(i).document

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

   If objTag.name = nameValue Then
    objTag.Value = tagValue
    GoTo label01
   End If

  Next

  'フレームテキストエリアに値を入力
  For Each objTag In objFrameDoc.getElementsByTagName("text") ← 変更

   If objTag.name = nameValue Then
    objTag.Value = tagValue
    GoTo label01
   End If

  Next

 Next

label01:

End Sub

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降
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