Excel VBAで Javascriptで書かれたWebページを 制御したい 削除


Message#4 2018年5月15日(火)16時11分
From: ジャッカル
iframe を読み込んで処理するのは、IEのセキュリティ上できないようになっているからもしiframeのURLがソースをみてわかるようなら、そのURLを最初にアクセスして処理するとセキュリティの問題が解決されるかもということす。

> ジャッカルのメッセージ(#2)への返事
>
> ジャッカルさん コメントありがとうございます
>
> 初歩的な質問かもしれませんが、「frameのURLを直接読み込んでやってみたら?」
> をやってみようと思うのですが、最初のHTMLを読んでその後FrameもgetElementByTagNameで読めていますが、FrameのURLから扱うのは
> どういう狙いがあるのでしょうか?
>
> ちなみにJavascriptのことはあまり関係ないんでしょうか?
>
> 初心者なので何が原因でおかしくなっているのか、最上位のURLとframeのURL
> の取得が、オブジェクトとの取得とどうからんでいるのか、そのあたりぜひお知恵を
> お貸しいただきたくよろしくお願いいたします。
>
> どうぞよろいsくお願いいたします
>
> 以上
>
> > frame が取得できているのなら、frameのURLを直接読み込んでやってみたら?
> >
> > > Excel VBAで Javascriptで書かれたWebページを
> > > 制御したいと考えています。
> > >
> > > 現在、特定の要素でgetElementsByTagName 等の
> > > メソッドで要素を取得することができません。
> > >
> > > VBA、Javascript、HTMLに詳しい方が入らっしゃいましたら
> > > 教えてください。
> > > 環境はWindows7、InternetExplorer11、Excel2016です。
> > >
> > > 操作(制御)の流れ
> > > ・VBAからWeb ページを表示する。
> > > Webページは電話帳の機能を提供する。
> > > ・LDAP番号やEメールあフドレスを検索用の窓に入力して、
> > > 検索ボタン押下で氏名を表示。
> > > ・逆に氏名を入力して検索ボタンを押下げるとLDAPやEメール
> > > アドレスを表示
> > >
> > > 1.WebページのHTML
> > > <!DOCTYPE HTML ・・・(略)
> > >
> > > <html>
> > > <head>
> > > <title> ・・・
> > > <meta http-equiv=Content-Type" content="text/html; charset=UTF-8"/>
> > > ・・・
> > > <script type="text/javascript" src="/・・・/jquery-1.x.x.js".></script>
> > > <script type="text/javascript" src="/・・・/jquery-ui.min.js?s2j=3.x.x".></script>
> > > <script type="text/javascript" src="/・・・/jquery.form.minjs?s2j=3.x.x".></script>
> > > <script type="text/javascript" src="/・・・/jquery.subscribe.minjs?s2j=3.x.x".></script>
> > >
> > > <script type="text/javascript">
> > > $(function(){
> > > jQuery.struts2_jquery.version = 3.x.x
> > > ・・・
> > > }
> > > </script>
> > > <link id="jquery_theme_link" rel="stylesheet"
> > > href="/"・・・/jquery-ui.css?s2j=3.x.x" type="text/css"/>
> > > ・・・
> > > <script type="text/javascript" src="/・・・/pb.js"></script> ’★
> > > </head>
> > > <body>
> > > ・・・
> > > 注 実際にWebページには、ここに frameの階層がある。
> > > VBAでは、このframe は取得できている。それ以降が
> > > 取得できない。
> > >
> > > 検索ウィンドウのあるページをみると
> > > <form id ="XXX" name="XXX" action="/・・・/XXX.do"
> > > target ="YYY" method="post">
> > > <table class="・・・・Table">
> > >
> > > <div id ="searchbox">
> > > <input> onkeypress="if(event.keyCode==13) { go() ; return false ; }" //★★
> > > type="text" name="searchParam" id= "searchParam" value=""/>
> > > <input> onkeypress=" go()"; return false ; "
> > > type="submit" name="abc" value="検索"/>
> > >
> > > 2.Internet Explorer 11 のF12ツールで調べると ★の所のpb.js でgo()が以下の
> > > 用に定義されています。
> > >
> > > function go() {
> > > //今回検索値(フォーム入力値)、検索文字列をUTF-8形式にエンコードしURLに追加
> > > var param = document.getElementById("searchParam").value
> > > url = url + encodeURIComponent(param) ;
> > > if (!checkProcessing()) {
> > > return false ;
> > > }
> > > //ステータスバー更新
> > > ・・・
> > > //あいまい検索の選択値、URLに追加
> > > if (document.forms[0].approx && document.forms[0].approx[0].checkes) {
> > > url = url + "&approx=1" ;
> > > }
> > > ・・・
> > > //画面遷移
> > > if (top.frame && top.frames.YYY) {
> > > top.frames.YYY.location.href=url ;
> > > } else {
> > > window.open(url, "YYY")
> > > }
> > > return null ;
> > > }
> > >
> > > 3.問題点
> > > (1)VBAで Webページのframe を取得できている
> > > のだが、その要素のform を getElementByID
> > > getElementsByTagName メソッドで取得できない。
> > >
> > > (2) javascript のgo() 関数で検索値を編集している
> > > るが、VBAから値を渡すにはどうすればよいか教えて
> > > ください。
> > >
> > > 以上

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

パスワード:

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