VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 インターネット関係のメニュー
1.VB6.0でハイパーリンクを作成するには
2.指定のURLのHTMLファイルをダウンロードする
3.HTMLファイルの内容をテキスト形式及びHTML形式で取得して表示
4.インターネット一時ファイルを削除する
5.InternetExplorer を使っての HTM ファイル内の要素を取得・操作例
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.


2.指定のURLのHTMLファイルをダウンロードする
1.インターネットトランスファー(Inet)コントロールを使ってHTMLファイルをダウンロードする
2.URLDownloadToFile APIを使ってHTMLファイルをダウンロードする
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:
使用 API:URLDownloadToFile
その他 :プロジェクト→コンポーネント→で Microsoft Internet Transfer Control 6.0 にチェックを入れておいて下さい。
    :そして、表示された(Inet)コントロールをフォームに貼り付けて下さい。
このページのトップへ移動します。 1.インターネットトランスファー(Inet)コントロールを使ってHTMLファイルをダウンロードする

Option Explicit   'SampleNo=132  2002.05.22

Private Sub Command1_Click()
  Dim strURL   As String  ' 取得URL
  Dim strFileName As String  ' ファイル名
  Dim intFileNo  As Integer
  Dim bytHtml()  As Byte
  strURL = Text1.Text     'DL  ファイル名
  strFileName = Text2.Text  'SAVE ファイル名
  intFileNo = FreeFile    'ファイルNoを取得
  Me.MousePointer = vbHourglass
  DoEvents
  'ファイルをバイナリモードで読み込み
  bytHtml() = Inet1.OpenURL(strURL, icByteArray)
  '保存処理
  Open strFileName For Binary Access Write As #intFileNo
    Put #intFileNo, , bytHtml()
  Close #intFileNo
  Me.MousePointer = vbDefault
  MsgBox strURL & "を" & strFileName & "に保存しました。"
End Sub

別途、フォームに Command1 Text1 Text2 を貼り付けて下さい。
Text1.Text = "http://www.msn.co.jp/home.htm" のようにダウンロードしたいファイル名をフルパスで指定して下さい。
指定が間違っているとサイズ0のファイルが作成されます。

Text2.Text = "C:\test.htm" 保存先をフルパスで指定して下さい。

ダウンロードしたいファイル名に画像ファイルを指定すれば画像もDLできます。
 
このページのトップへ移動します。 2.URLDownloadToFile APIを使ってHTMLファイルをダウンロードする

Option Explicit   'SampleNo=169  2002.07.19

Private Declare Function URLDownloadToFile Lib "urlmon" _
  Alias "URLDownloadToFileA" (ByVal pCaller As Long, _
  ByVal szURL As String, ByVal szFileName As String, _
  ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Private Sub Command1_Click()
  Dim SaveFileName As String
  Dim DownloadFile As String
  Dim Ret     As Long
  DownloadFile = Text1.Text  'DL  ファイル名
  SaveFileName = Text2.Text  'SAVE ファイル名
  'ダウンロードの実行
  Ret = URLDownloadToFile(0, DownloadFile, SaveFileName, 0, 0)
  If Ret = 0 Then
    MsgBox "ダウンロードできました。"
  Else
    MsgBox "エラーが発生しました。"
  End If
End Sub

動作は同じですが、こちらは簡単で高速でダウンロードできます。

尚、両方とも、接続されていない場合等でキャッシュから読み込む場合があります。

参考 How To Download a File Without Prompting
   http://support.microsoft.com/default.aspx?scid=kb;EN-US;q244757

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
指定URLのファイルをダウンロードする インターネットトランスファーコントロールの使用例



このページのトップへ移動します。