■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#44826-0WebBrowserを使って自動入力ぱる2001-07-09(月) 12:41
     #44827-0RE#44826:WebBrowserを使って自動入力せつら2001-07-09(月) 12:57
     #44828-0RE#44827:WebBrowserを使って自動入力ぱる2001-07-09(月) 13:02
     #44829-0RE#44826:WebBrowserを使って自動入力Μπενσι2001-07-09(月) 13:22
     #44835-0RE#44829:WebBrowserを使って自動入力ぱる2001-07-09(月) 15:12
#44826-0
WebBrowserを使って自動入力
何度もここで助けていただいたぱるですっ。

本日も困ったことがあったのでお知恵を拝借に参りました。

環境:Win98SE、VB6Servicepack5

VBでフォームを作り、WebBrowserコントロールを貼り付けて、
表示したWEB画面のテキストフィールドに
VBフォームのボタンをクリックしたら値が記入される、
というものを作らなくてはいけないのですが、
WebBrowserで表示されたWEB画面にどうやって値をいれたらいいか
皆目検討がつきません。

ヘルプはもとより人に尋ねたり検索したりしたのですが
WebBrowserを使用したプログラム自体が少なく、
判りませんでした。

どうか識者の皆様助けてください。
お願いいたします。
#44827-0
RE#44826:WebBrowserを使って自動入力
Web 上のテキストボックス上に文字を入れるのは大変そうです。 しかし、値をセットした後、ボタン
を押す事で別画面に飛ぶわけですよね? それならば何とか。

CGI の動作原理として、URL の後ろに引数を連ねる事で、CGI 側に情報を渡しますよね。 例えば、
ここの掲示板も、

http://www2j.biglobe.ne.jp/~little-g/cgi-bin/vbqanda.cgi?page=2

のように、最後に表示ページを付加しているのです。 Web 上のボタンの場合、その周辺に変数名を
定義し値を入力させている部分が存在するはずなので、上のように入力した後ボタンを押す、という
状態と同じURL+引数をURLに設定して表示更新してはどうでしょうか?
#44828-0
RE#44827:WebBrowserを使って自動入力
早速のお返事ありがとうございます。

> Web 上のテキストボックス上に文字を入れるのは大変そうです。 しかし、値をセットした後、ボタン
> を押す事で別画面に飛ぶわけですよね? それならば何とか。
> 
> CGI の動作原理として、URL の後ろに引数を連ねる事で、CGI 側に情報を渡しますよね。 例えば、
> ここの掲示板も、
> 
> http://www2j.biglobe.ne.jp/~little-g/cgi-bin/vbqanda.cgi?page=2
> 
> のように、最後に表示ページを付加しているのです。 Web 上のボタンの場合、その周辺に変数名を
> 定義し値を入力させている部分が存在するはずなので、上のように入力した後ボタンを押す、という
> 状態と同じURL+引数をURLに設定して表示更新してはどうでしょうか?
=====
ありがとうございます。
この方法も試してみました。
確かにこの掲示板や多くのサーチエンジン等はこの方法でいけるのですが、
今やろうとしているWEBページがセキュリティーがかかっているところなのです。
外部からの引数というのは大丈夫なのでしょうか?
出来ないと聞いたことがあったのであきらめていたのですが…。
#44829-0
RE#44826:WebBrowserを使って自動入力
Documentオブジェクトを使いましょう。
Webページを参照している場合、これはHTMLドキュメントを返します。
# ExcelやWordやフォルダを表示させている場合だと、別のオブジェクトになるけれど。

ページによって、HTMLの構造は違うので、一般論は書きにくいけれども、
name属性を持ったinput type="text"ならば、話は簡単。
例えば、この掲示板の返信画面なら、題名欄が「daimei」という名前になっているので、
   WebBrowser1.Document.all("daimei").value = "RE#44826:WebBrowserを使って自動入力"
って感じにすればOK。


詳細は、「IHTMLDocument」というインターフェイスを参照してもらうとして、
とりあえずは、参照設定で「MSHTML.TLB」をチェックした上で、
    Dim Doc As MSHTML.HTMLDocument
    Dim Body As MSHTML.HTMLBody

    Set Doc = WebBrowser1.Document
    Set Body = Doc.Body
などとして、オブジェクトブラウザやIntelliSenseを使いながら、
試行錯誤すれば、なんとかなるかと。
#44835-0
RE#44829:WebBrowserを使って自動入力
> Documentオブジェクトを使いましょう。
> Webページを参照している場合、これはHTMLドキュメントを返します。
> # ExcelやWordやフォルダを表示させている場合だと、別のオブジェクトになるけれど。
> 
> ページによって、HTMLの構造は違うので、一般論は書きにくいけれども、
> name属性を持ったinput type="text"ならば、話は簡単。
> 例えば、この掲示板の返信画面なら、題名欄が「daimei」という名前になっているので、
>    WebBrowser1.Document.all("daimei").value = "RE#44826:WebBrowserを使って自動入力"
> って感じにすればOK。
=====
出来ました!
ありがとうございます。
しかし、今度はラジオボタンで躓きました…。(T_T)
もう少し自分で頑張ってみてダメだったらまた来ます!

ありがとうございましたっ!
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)