URLダウンロード          <TOP>


指定したURLのHTML(PDF)をダウンロードしファイルに保存します。

URLDownloadToFile URLをダウンロードしファイルに保存

MakeSureDirectoryPathExists 新規ディレクトリの作成


URLDownloadToFileは、フォルダが存在していなければならないようですのでMakeSureDirectoryPathExistsでフォルダを作成しています。

 

上記ファイルを開いてみます。

 

URLに"http://jp.fujitsu.com/group/pst/downloads/support/fbasic/lesson_1.pdf"と入力し、ファイル名を「test.pdf」としてみました。

URL入力部は水平スクロールをありに設定しています。test.pdfが保存されてるのが確認できます。

 

上記ファイルを開いてみます。

 

'================================================================
'= URLダウンロード
'=    (UrlDownload.bas)
'================================================================
#include "Windows.bi"

' URLのHTML等をダウンロードしファイルに保存
Declare Function Api_URLDownloadToFile& Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller&, ByVal szURL$, ByVal szFileName$, ByVal dwReserved&, ByVal lpfnCB&)

' 階層化されたフォルダを一気に作成
Declare Function Api_MakeSureDirectoryPathExists& Lib "imagehlp" Alias "MakeSureDirectoryPathExists" (ByVal lpPath$)

Var Shared Edit(2) As Object
For i = 0 To 2
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i+1)))
    Edit(i).SetFontSize 14
Next

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    '"http://jp.fujitsu.com/group/pst/downloads/support/fbasic/lesson_1.pdf"
    Edit(0).SetWindowText "http://www.yahoo.co.jp"
    Edit(1).SetWindowText "c:\temp\url\"
    Edit(2).SetWindowText "test.htm"
End Sub
'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var Url As String
    Var DirPath As String
    Var sName As String
    Var sFileName As String
    Var Ret As Long

    Url = GetDlgItemText("Edit1")
    DirPath = GetDlgItemText("Edit2")
    sName = GetDlgItemText("Edit3")
    sFileName = DirPath & sName

    SetMousePointer 2
    Ret = Api_MakeSureDirectoryPathExists(DirPath)
    Ret = Api_URLDownloadToFile(0, Url, sFileName, 0, 0)
    SetMousePointer 0
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End