VBAで objIE を使用して Webページ中の javascript を実行したいのですが、
onclick="~~" の記述がないケースがあり困っております。
例えば以下のような記述です。
<a href="javascript:;" pnb="~~" scdaction="~~" bulkaction="~~" id="~~">~~</a>
onclick の記述がない上記のようなケースでは、javascript の呼び出しはどのようにすればよいのでしょうか?
不可能でしょうか?
No.1ベストアンサー
- 回答日時:
ここを読んでみればよいのですが、だらだらと文章が長いですね。
^^;http://www.ken3.org/vba/backno/vba170.html
この内容のまとめは、この後でします。もし、ダメだったら、こちらも読んでください。
>onclick="~~" の記述がないケースがあり困っております。
最初に、ストレートな回答ではありませんが、私の場合、いくつかの方法を試しています。
>a href="javascript:;" pnb="~~" scdaction="~~" bulkaction="~~" id="~~">~~</a>
この場合は、id がありますから、確実のオブジェクトとして取得できますから、まず最初に、ダメ元で、
id名.Click を一度試してみます。もしくは、この行の上部のコードのオブジェクトのClass名のオブジェクトのひとつから、ヒットさせようとします。
そこでダメなら、ということで、ken3の内容に入るのですが、この著者の結論(正解)は、
ご質問に沿って書くと
For i =0 To objIE.Document.links.Length -1
If objIE.Document.links(i).href ="javascript:;" Then '文字の比較は、大文字・小文字がある
objIE.Document.Links(i).Click
End if
Next i
ということになっています。私は、このコードは少し古臭く感じます。
ここで、ken3 の所では、Testサイトを用意してくれているので、試してみましたが、ダイレクトでサイトがとれている限りは、やはり、
Testサイト:http://www.ken3.org/vba/test170f.html
objIE.Navigate "javascript:xxxxx;"
が利くことが分かりました。ただし、実際は、ここで時間待ちをしなくてはならないでしょう。
解説は、フレームからですので、うまく行かなかったようです。
どこのどなたか存じませんが、貴重な時間を割いてご親切にありがとうございます。
結論から言いますと、「id名.Click」の2段階指定でうまくいきました!
初め、目的とする箇所の id名 でいきなりクリックしたところ反応がなく、
教えて頂いた Links(i) のループで id名 を確認したところ、なぜかその id名 が見当たりませんでした。
DOM Explorer では id が見えているのに、VBAでHTMLソースを確認すると id が存在しないため、
すっかり訳が分からなくなってしまいました。
しかし、そのクリックしたい箇所がドロップダウンリストの中の項目だったので、まずドロップダウンリストの id名 をクリックし、
その次に目的とする項目の id名 をクリックしたところ、見事動作しました!
2日もかけて実現できず諦めかけていたのですが、思い切って質問してみて良かったです。
ドロップダウンリストの中の項目だったというのがポイントだったと思うのですが、
頭が鈍くそれに気付かず、質問の際も説明不足で申し訳ありませんでした。
教えて頂いたすべてのことが、問題の解決にとても役立ち、勉強になりました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- HTML・CSS Webページを作るには、HTMLとCSSだけ出来れば大丈夫なのですか? JavaScriptのスキル 6 2022/08/21 15:28
- JavaScript jqueryとJavaについて 2 2022/05/16 22:39
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VBAでJAVAをコントロール
Visual Basic(VBA)
-
VBAにてjavascriptを起動したい
Visual Basic(VBA)
-
クリックさせたいが、click()が動作しない。
JavaScript
-
-
4
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
Visual Basic(VBA)
-
5
Excel VBA にて JavaScript の実行方法について
その他(Microsoft Office)
-
6
vbaでIEの名前を付けて保存(A)をしたい
Microsoft ASP
-
7
VBAでIEを操作、ポップアップされた画面の処理(Enter)を行いたい
Visual Basic(VBA)
-
8
ダウンロードダイアログをVBAから操作するには?
Visual Basic(VBA)
-
9
(UWSC) 「#32770」の意味わかりますか?
その他(プログラミング・Web制作)
-
10
VBA HTML要素または文字の座標を取りたい
Visual Basic(VBA)
-
11
JavaScriptからVBAの関数を呼び出し
Visual Basic(VBA)
-
12
IEのダウンロード通知バーのVBA制御(保存他)
Visual Basic(VBA)
-
13
VBAでHTTPログイン
Visual Basic(VBA)
-
14
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
15
htmlまたはJavascriptからファイルを引数つきで起動する。
HTML・CSS
-
16
WEBページからのメッセージをVBAで
Visual Basic(VBA)
-
17
Excel VBAでのIE操作でクリックができないボタンはあるのでしょうか
Visual Basic(VBA)
-
18
VBAでの SendKeysの変数指定方法
Excel(エクセル)
-
19
excel VBA でjava のボタンを押すには
Visual Basic(VBA)
-
20
VBA IE操作でダイアログ表示後、ファイルを開くボタンが押下できない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webページ中の javascript をVB...
-
ASP.NETでURLにマッピングされ...
-
jquery か javascript で json ...
-
CSSのクラスを動的に変更 classで
-
オライリーのプログラミングPHP...
-
ブラウザ自体の事じゃなくてJav...
-
デザイン時のVisible=Falseは実...
-
JavaScriptで ブラウザの閉じる...
-
PowerPointで時計表示
-
VB.NET2003 テキストボックスに...
-
htmlのfileタグに自動で値を入...
-
if(1){...}とはどういうことで...
-
JavaScriptの負荷について
-
「終了していない文字列型の定...
-
jQuery ui Datepicker 明日以降...
-
javascriptでのmdb接続について
-
テキストファイルの更新日時を取得
-
VBA SORT Applyでエラー
-
C# ブラウザの自動クリック
-
onChange="javascript:関数名"...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webページ中の javascript をVB...
-
ローカルのレジストリを読みたい
-
画面間でのJavaScrip...
-
フォルダ内のファイル名を取得...
-
エクセル2010のvbaについて
-
javaScriptでグローバル変数に...
-
event.srcElementの動的設定
-
JavaScriptでオブジェクトを識...
-
正規表現内に変数を使用する方法
-
ASP.NETでURLにマッピングされ...
-
javascript 名前空間?
-
文字を移動させその位置を表示...
-
JavaScript 日数計算の関数で演...
-
Shell.ApplicationでのIEオブ...
-
オライリーのプログラミングPHP...
-
イベントevt?evt.target:event....
-
タブブラウザで focus() を実...
-
jquery か javascript で json ...
-
クラス デフォルトプロパティの...
-
jQueryの仕組みについて質問です
おすすめ情報