javascriptのclickボタンを押せないのはなぜ?

最近の書き込み件数: 今日 0件、昨日 0件
未読分:12件

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


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#12 2017年2月14日(火)21時43分
From: ジャッカル
返事 変更
idじゃなくてclassの「goog-inline-block」を指定してやってみたらどう?

>
> vbaでieを操作しようとしています。
> 下記のボタンをクリックしようと思っているのですが
> うまくいきません。 <div id="btn_product_search"><div tabindex="0" title="" class="goog-inline-block goog-custom-button" role="button" style="-ms-user-select: none;"><div class="goog-inline-block goog-custom-button-outer-box"><div class="goog-inline-block goog-custom-button-inner-box">検索</div></div></div></div>
>
> ボタンの押下の行い方を教えてください
> 下記のように試してみましたが反応しません
>
> objIE.document.getElementByid("btn_product_search").Click
>
> ちなみにクリックしたいボタンの上にマウスのカーソルを置くと下記の箇所のコードが変わります
> 何か関係してるのでしょうか?
> class="goog-inline-block goog-custom-button"
>
> の中の goog-inline-block goog-custom-buttonの箇所

Message#11 2017年2月11日(土)17時53分
From: 初心者
返事 変更

vbaでieを操作しようとしています。
下記のボタンをクリックしようと思っているのですが
うまくいきません。 <div id="btn_product_search"><div tabindex="0" title="" class="goog-inline-block goog-custom-button" role="button" style="-ms-user-select: none;"><div class="goog-inline-block goog-custom-button-outer-box"><div class="goog-inline-block goog-custom-button-inner-box">検索</div></div></div></div>

ボタンの押下の行い方を教えてください
下記のように試してみましたが反応しません

objIE.document.getElementByid("btn_product_search").Click

ちなみにクリックしたいボタンの上にマウスのカーソルを置くと下記の箇所のコードが変わります
何か関係してるのでしょうか?
class="goog-inline-block goog-custom-button"

の中の goog-inline-block goog-custom-buttonの箇所

Message#10 2016年5月7日(土)08時15分
From: ジャッカル
返事 変更
> HTMLエレメント基本操作 > outerTextとinnerTextの違いについて
>
> ですが、説明の該当部分見ますと
>
> outerTextプロパティとは
> 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の
> テキスト部分のHTMLコードを取得するプロパティです。
> http://www.vba-ie.net/element/outer-innertext.html#a12
>
> innerTextプロパティとは
> 要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の
> テキスト部分のHTMLコードを取得するプロパティです。
> http://www.vba-ie.net/element/outer-innertext.html#a13
>
> でタイトルと説明部分の内容が不一致になっています
> (どちらも説明が「outerHTMLプロパティは〜」になってます)
>
> これ正しくはどうなのでしょうか?

これまったく別の質問!?
結果は同じだから要素を内包するテキストはすべて抽出するってことでは?

Message#9 2016年5月3日(火)10時27分
From: LoveLoveTyhoon
返事 変更
HTMLエレメント基本操作 > outerTextとinnerTextの違いについて

ですが、説明の該当部分見ますと

outerTextプロパティとは
要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の
テキスト部分のHTMLコードを取得するプロパティです。
http://www.vba-ie.net/element/outer-innertext.html#a12

innerTextプロパティとは
要素オブジェクトのouterHTMLプロパティは指定した要素オブジェクトの要素内の
テキスト部分のHTMLコードを取得するプロパティです。
http://www.vba-ie.net/element/outer-innertext.html#a13

でタイトルと説明部分の内容が不一致になっています
(どちらも説明が「outerHTMLプロパティは〜」になってます)

これ正しくはどうなのでしょうか?

Message#8 2016年4月27日(水)15時26分
From: ジャッカル
返事 変更
objIE.document.getElementsByTagName("input")

でいけると思うけど、そんなとこでエラーが起きてるって事は読み込みが完全に
完了していないんじゃないかな?

イントラページがどうなっているか分からないけど、

その処理する前に10秒ほど処理停止処理いれてみたらどうだろうか。

Message#7 2016年4月27日(水)08時17分
From: azu
返事 変更
VBAからIEを操作して、社内イントラネット上の
WebサーバからExcelのデータをダウンロードしたいと
考えております。

このサイトの情報を参考にしてWebのトップページを開く
ことができたのですが、次のページに移る所で
--
オートメーションエラーです。
起動されたオブジェクトはクライアントから切断されました。
というエラーになってしまいます。
[環境]
WebページはJavaScripを使用
IE8以降 WindowsServer 2008 R2

[該当のHTML(抜粋)]

<ta>
<th class="XXX" nowrap>


<input name="ABC1" type="btnPrc1" class="XXX" value="Excel形式" ・・・

onClick="this.form.bolMacroRun.value = 0;btnProcess_Click(this.form,'1');" id="btnPrcID1"   略・・・  title="Excel形式で保存">

★★
<input type="button" name="BtnMacroStart" class="XXX]" value="マクロ実行"
onClick="btnMacroStart_Click(this.form,'1');" id="btnMacroStartID1"
略・・・  title="登録済みマクロを実行します。
 ・・・・
</th>
</ta>

---

【VBAのコード】
'*************************************
' Webページ呼び出し

Sub Proc()
Dim objIE As InternetExplorer
Dim objIE2 As InternetExplorer
Dim objTag As Object
Call ieView(objIE, "http://XXX.YYY.ZZZ/〜/VVV.asp")

For Each objTag In ???・・・点線部 ここで異常終了!
? objIE.document.getElementByID("btnPrcID1") ?
? objIE.document.getElementsByName("btnPrcID1") ?
? objIE.document.getElementsByTagName("input")?

If InStr(objTag.outerHTML, ?"Excel形式で保存"?) > 0 Then
'buttonボタンクリック
objTag.Click

'IEが完全表示されるまで待機
` Call ieCheck(objIE) 
'ループ脱出
Exit For
End If
Next
End Sub
End proc

'******************************
Sub ieView(objIE As InternetExplorer, _
urlName As String, _
Optional viewFlg As Boolean = True)

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

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

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

'IEが完全表示されるまで待機
' Call ieCheck(objIE)     ' Webページは表示される
                ' これを入れると異常終了するので一旦除外 
End Sub

[質問] 
Q1 HTMLの★または★★の箇所のボタンを押す操作をマクロで実現したいのですが
  マクロの?の部分でいÝ上終了し冒頭のオートメーションエラーになってしまいます
  getElementsBy???をいろいろ変えてみたのですがうまくいきません
  あと少しでできそうなのですがどうしたらいいかアドバアイスをお願いします

以上

Message#6 2015年12月22日(火)09時50分
From: VBAマスター
返事 変更
> 'ダウンロードボタンをクリック
> Call tagClick(objIE, "input", "ダウンロード")
> で設定して実行しましたが、結果は同じです。ダウンロードボタンが押せません。
> タグの値が取れないのでしょうか?

別の要素をクリックしているということはありませんか?

For Each objTag In objIE.document.getElementsByTagName(tagName)
If InStr(objTag.outerHTML, tagStr) > 0 Then
objTag.Click
'Call ieCheck(objIE)
Exit For
End If
Next


objTag.Clickにブレークポイントを設定し、If InStr(objTag.outerHTML, tagStr) > 0 Thenの条件式で要素が認識されているか確認してみてください。

また、認識されている場合は、その要素をouterhtmlメソッドで抽出し、該当する項目なのか確認ください。

もう1つ気になったのが'Call ieCheck(objIE)がコメントアウトされています。

クリック処理後に別の処理を入れている場合は、正常に動作していない可能性もあるので、コメントを解除した状態でされてみるといいと思います。

>
>
> > > 'ダウンロードボタンをクリック
> > > Call tagClick(objIE, "Submit", "ダウンロード")
> >
> > 第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。
> > inputタグで設定してみてください。

Message#5 2015年12月21日(月)16時52分
From: 清水 義彦
返事 変更
VBAマスターのメッセージ(#4)への返事

早速のご返答ありがとございます。

'ダウンロードボタンをクリック
Call tagClick(objIE, "input", "ダウンロード")
で設定して実行しましたが、結果は同じです。ダウンロードボタンが押せません。
タグの値が取れないのでしょうか?


> > 'ダウンロードボタンをクリック
> > Call tagClick(objIE, "Submit", "ダウンロード")
>
> 第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。
> inputタグで設定してみてください。

Message#4 2015年12月21日(月)16時35分
From: VBAマスター
返事 変更
> 'ダウンロードボタンをクリック
> Call tagClick(objIE, "Submit", "ダウンロード")

第二引数はタグの名前を指定します。Submitはタグではなくname属性の値です。
inputタグで設定してみてください。

Message#3 2015年12月21日(月)16時08分
From: 清水 義彦
返事 変更
VBAマスターのメッセージ(#2)への返事

返答ありがとうございます。

以下の様に書き換えてclick処理で書きかけて実行しましたが、結果はうまくいきません。

'ダウンロードボタンをクリック
Call tagClick(objIE, "Submit", "ダウンロード")

Sub tagClick(objIE As InternetExplorer, _
tagName As String, _
tagStr As String)

'タグをクリック
For Each objTag In objIE.document.getElementsByTagName(tagName)

If InStr(objTag.outerHTML, tagStr) > 0 Then

objTag.Click

'Call ieCheck(objIE)

Exit For

End If

Next

End Sub

引き続きお願い致します。

> > 上記HTMLの
> > <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')">
> > の部分なのですが、
> >
> > VBAで、
> > objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp
> > と書き、実行したのですが、何も画面が変わらず終わってしまいます。
> >
> > 何かいいアドバイスありませんか?
> >
> > よろしくお願い致します。
>
> こちらJavaScriptで処理するのではなく、クリック処理でうまくいかないのでしょうか?
>
> http://www.vba-ie.net/form/submit.html

Message#2 2015年12月19日(土)22時59分
From: VBAマスター
返事 変更
> 上記HTMLの
> <input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')">
> の部分なのですが、
>
> VBAで、
> objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp
> と書き、実行したのですが、何も画面が変わらず終わってしまいます。
>
> 何かいいアドバイスありませんか?
>
> よろしくお願い致します。

こちらJavaScriptで処理するのではなく、クリック処理でうまくいかないのでしょうか?

http://www.vba-ie.net/form/submit.html

Message#1 2015年12月19日(土)16時39分
From: 清水 義彦
返事 変更
<body onload="document.forms[0].subWinOpened.value='0'" onunload = "closeSubWin();">

<form method="post" action="/FjWebApp/FjMaker" target="bottom" name="GoToAp">


<input type="hidden" name="omeThisPageName" value="null">




<input type="hidden" name="omeNextPageName" value="">



<input type="hidden" name="omeErrorPageName" value="Wh901error.jsp" >


<input type="hidden" name="companyCode" value="42889" >



<table width="100%">
<tr valign="top">
<td class="table-header1">発注データダウンロード</td>
</tr>
</table>
<br>



<table>
<tr>
<td nowrap class="text-caption1-fj-right">メーカコード</td>
<td nowrap>42889</td>
</tr>
<tr>


<td nowrap class="text-caption1-fj-right">発注日</td>
<td nowrap >
<select name="selectDate">
<option selected value="000" >当日
<option value="001" >1営業日前
<option value="002">2営業日前
<option value="003" >3営業日前
</select>
</td>
</tr>
</table>


<p>




<input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')">

 
<a href="JavaScript: openMe()">説明はこちら</a> 
</p>
<!--subWin Opened flag-->
<input type="hidden" name="subWinOpened" value="">

<BR><BR>

<H2>【発注データの確認】</H2>
<UL>
<LI>[ファイル名] = [メーカーコード] + [発注データ.seq]
<LI>ダウンロード後は、必ず発注日付をチェックして下さい。
</UL>
<BR>

<H2>【発注データのダウンロードに関しての補足説明】</H2>
<UL>
<LI>ダウンロードデータには、発注データ一覧表示画面
で表示している内容のデータも含まれております。データのチェックにもご使用下さい
<LI><A HREF="JavaScript: openMe1()"> データ項目説明はこちら</A>です
</UL>
</form>
</body>
</html>

上記HTMLの
<input type="button" name="Submit" value=" ダウンロード " onClick="JavaScript: callDownLoad('wh/wh901/Wh901download.jsp')">
の部分なのですが、

VBAで、
objIE.navigate "JavaScript: callDownLoad('http://www2.f-j.co.jp:7018/FjWebApp/fj/priks21/wh/wh901/Wh901download.jsp
と書き、実行したのですが、何も画面が変わらず終わってしまいます。

何かいいアドバイスありませんか?

よろしくお願い致します。

最新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