OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

プログラムについて

  • 困ってます
  • 質問No.174027
  • 閲覧数45
  • ありがとう数7
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 46% (128/273)

 あのー、今VBでHPのアドレスを入力するとそのHPのソースが表示できるプログラムを作ろうと思っているんですが、VBでできるのでしょうか?
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.6
レベル8

ベストアンサー率 60% (20/33)

インターネットには、繋がっている環境ですか?
ソースが間違っていました。

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

固まってしまったのは、インターネット接続中の時に連打したためおかしくなってしまったのだと思われます。
お礼コメント
mos21

お礼率 46% (128/273)

す、すごい、動きました。すげー!!なんでできるんですか?本当にありがとうございました。
投稿日時 - 2001-11-28 15:26:49
-PR-
-PR-

その他の回答 (全5件)

  • 回答No.1
レベル13

ベストアンサー率 37% (331/872)

こんにちは、honiyonです。  Winsockを使えば VBで TCP/IP通信が可能です。  ひょっとしたら Winsockを更に簡単に使えるようにするコンポーネントがあるかもしれません。  では実際にどうやってソースを取得するか説明します。  スタート>ファイルを指定して実行>TELNET www.yahoo.co.jp 80  と入力してください。  TELNETウイ ...続きを読む
こんにちは、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を検索していると結構ヒントが見つかります。

 参考になれば幸いです(..
お礼コメント
mos21

お礼率 46% (128/273)

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


  • 回答No.2
レベル13

ベストアンサー率 37% (331/872)

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

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

 説明が下手ですいません(..
お礼コメント
mos21

お礼率 46% (128/273)

手動で行った処理をプログラミングですか。難しそうですね、でもがんばりたいと思います。ご丁寧にありがとうございました。
投稿日時 - 2001-11-26 00:17:19
  • 回答No.3
レベル13

ベストアンサー率 59% (729/1235)

InternetReadFile関数のサンプルをどうぞ ...続きを読む
InternetReadFile関数のサンプルをどうぞ
お礼コメント
mos21

お礼率 46% (128/273)

ちょっと難しいことが書かれていたんですが、わかるところもあり参考になりました。ありがとうございました。
投稿日時 - 2001-11-27 22:09:34
  • 回答No.4
レベル8

ベストアンサー率 60% (20/33)

コンポーネントの追加で「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" ...続きを読む
コンポーネントの追加で「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
こんなんでどうでしょう?
お礼コメント
mos21

お礼率 46% (128/273)

回答ありがとうございました。コンポーネントの追加で「MicrosoftInternet Transfer Controll」を追加してFormに貼り付けて、回答いただいたプログラムを書いたところ、全体が灰色のFormが表示されて文字は無かったです。Form上には「Microsoft Internet Transfer Controll」以外でListBoxとか何か貼り付けなければいけないんでしょうか?
投稿日時 - 2001-11-27 22:25:13
  • 回答No.5
レベル8

ベストアンサー率 60% (20/33)

Formにボタンとテキストボックスを貼り付けて、 テキストボックスのMultiLineをTrueにします。 ボタンをダブルクリックし次のようにクリックイベントにコードを追加します。 Private Sub Command1_Click() Text1.Text=GetSource() End Sub これでどうですか? ...続きを読む
Formにボタンとテキストボックスを貼り付けて、
テキストボックスのMultiLineをTrueにします。
ボタンをダブルクリックし次のようにクリックイベントにコードを追加します。

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

これでどうですか?
お礼コメント
mos21

お礼率 46% (128/273)

ありがとうございました。それはこういうことですか?
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:05
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ