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