プロが教えるわが家の防犯対策術!

 あのー、今VBでHPのアドレスを入力するとそのHPのソースが表示できるプログラムを作ろうと思っているんですが、VBでできるのでしょうか?

A 回答 (6件)

インターネットには、繋がっている環境ですか?


ソースが間違っていました。

Private Sub Command1_Click()
Command1.Enabled = False
Text1.Text = GetSource()
Command1.Enabled = True
End Sub

Function GetSource() As String
Dim strBuf As String
Dim strURL As String
strURL = "http://www.microsoft.com/japan/ms.htm"
strBuf = Inet1.OpenURL(strURL)'ファイル内容を取得
GetSource = strBuf
End Function

固まってしまったのは、インターネット接続中の時に連打したためおかしくなってしまったのだと思われます。
    • good
    • 0
この回答へのお礼

す、すごい、動きました。すげー!!なんでできるんですか?本当にありがとうございました。

お礼日時:2001/11/28 15:26

Formにボタンとテキストボックスを貼り付けて、


テキストボックスのMultiLineをTrueにします。
ボタンをダブルクリックし次のようにクリックイベントにコードを追加します。

Private Sub Command1_Click()
Text1.Text=GetSource()
End Sub

これでどうですか?
    • good
    • 0
この回答へのお礼

ありがとうございました。それはこういうことですか?
Private Sub Command1_Click()
Text1.Text = GetSource()
End Sub
Function GetSource() As String
Dim strBuf As String
Dim strURL As String
strURL = "http://www.microsoft.com/japan/ms.htm"
strBuf = Inet1.OpenURL(strURL)
strBuf = GetSource
End Function
これでボタンをクリックしたら画面が止まったような感じになるので、ボタンを連打したら「最後の要求が実行中です」と出てしまいました。
なんでですかね、難しいですね。

お礼日時:2001/11/28 14:00

コンポーネントの追加で「Microsoft Internet Transfer Controll」を追加してFormに貼り付けます。



Function GetSource() As String
Dim strBuf As String
Dim strURL As String
strURL = "http://www.microsoft.com/japan/ms.htm"
strBuf = Inet1.OpenURL(strURL)
strBuf = GetSource
End Function
こんなんでどうでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。コンポーネントの追加で「MicrosoftInternet Transfer Controll」を追加してFormに貼り付けて、回答いただいたプログラムを書いたところ、全体が灰色のFormが表示されて文字は無かったです。Form上には「Microsoft Internet Transfer Controll」以外でListBoxとか何か貼り付けなければいけないんでしょうか?

お礼日時:2001/11/27 22:25

InternetReadFile関数のサンプルをどうぞ



参考URL:http://www.vbvbvb.com/jp/gtips/0101/gInternetRea …
    • good
    • 0
この回答へのお礼

ちょっと難しいことが書かれていたんですが、わかるところもあり参考になりました。ありがとうございました。

お礼日時:2001/11/27 22:09

こんにちは、honiyonです。



 いえいえ、TELNETでやるもの、というものではありません。
 実際にその処理の流れを目で確認してもらった方がわかりやすいのではないか、という事で、HTTPプロトコルによる通信を TELNETクライアントを用いて説明しただけです。
 また、今手動で行った処理を、そのままプログラミングすればソースを取得するソフトが作れるよ、という意味も含んでいます。

 説明が下手ですいません(..
    • good
    • 0
この回答へのお礼

手動で行った処理をプログラミングですか。難しそうですね、でもがんばりたいと思います。ご丁寧にありがとうございました。

お礼日時:2001/11/26 00:17

こんにちは、honiyonです。



 Winsockを使えば VBで TCP/IP通信が可能です。
 ひょっとしたら Winsockを更に簡単に使えるようにするコンポーネントがあるかもしれません。


 では実際にどうやってソースを取得するか説明します。
 スタート>ファイルを指定して実行>TELNET www.yahoo.co.jp 80

 と入力してください。
 TELNETウインドウが開きます。(何も表示されていません)

 ここで、
 GET / HTTP/1.0

 と入力して、Enterを 2回押してください。
 (ここでの入力した文字は、場合によっては画面に表示されない可能性があります。)

 すると、画面にだら~っと YAHOOのトップページのソースが表示されたと思います。

 因みに、 http://www.yahoo.co.jp/~honiyon/hoge.html のソースを取得したければ、
 GET /~honiyon/hoge.html HTTP/1.0

 とします。

 つまり、目的のソースがあるサーバーの 80番ポートに接続し、 GET~という文字列と Enterを2回送ってやればソースは取得できるわけです。


 これを自分で実現できれば一番良いですが、面倒くさい場合は、IEの ActiveXコンポーネントを使うのが一番楽です。
 ActiveXの一覧を参照するとそれらしいのが見つかると思いますので、インポートして適当にいじりまわしてみてください。(結構簡単に使い方が分かると思います) あとは、「IE」とか「ActiveX」とかでWWWを検索していると結構ヒントが見つかります。

 参考になれば幸いです(..
    • good
    • 0
この回答へのお礼

ありがとうございました。それはVBで直接プログラムを書くのではなくて、TELNETを使ってソースを取得するものなのですかね。そのようなやり方もあるんですね。
参考になりました。

お礼日時:2001/11/25 01:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!