EDIT: xlsファイルから画像をダウンロードするには、このコードがあります。 出典:GET pictures from a url and then rename the pictureCSV/XLSカタログから画像をダウンロード
コード:
Option Explicit
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
Dim Ret As Long
'~~> This is where the images will be saved. Change as applicable
Const FolderName As String = "C:\Temp\"
Sub Sample()
Dim ws As Worksheet
Dim LastRow As Long, i As Long
Dim strPath As String
'~~> Name of the sheet which has the list
Set ws = Sheets("Sheet1")
LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LastRow '<~~ 2 because row 1 has headers
strPath = FolderName & ws.Range("A" & i).Value & ".jpg"
Ret = URLDownloadToFile(0, ws.Range("B" & i).Value, strPath, 0, 0)
If Ret = 0 Then
ws.Range("C" & i).Value = "File successfully downloaded"
Else
ws.Range("C" & i).Value = "Unable to download the file"
End If
Next i
End Sub
それはXLSファイルで正常に動作し、 "PIC NAME" と "URL" は、2つの別々の列です。私はcsvファイルを持っていて、xlsとは違って、csvは "|"で区切られた1つの列に値を持っています。 (PIC NAME | URL)。だから、コーディング時のノブである - 回避策として、私はExcelで "Text to columns"を使用して、行を2つの別々の列に区切って区切り記号 "|"の下に分けて、元のコードを使用できるようにした。
質問:csvファイルでコードを動作させる方法はありますか?これは、数千の行を持つ大きなcsvファイルから画像を抽出する方がはるかに迅速かつ容易になります。
は綿毛を削除してください - 挨拶ではない問題に含まれるように、これはQ&Aサイト、いないフォーラムです。さらに、あなたが試したこととあなたの問題点を説明してください。現在のところ、この問題はプログラミング上の問題ではありませんが、このサイトの目的ではない「私のためのコード全体を書いてください」となります。 – Polygnome
実際には、このサイトからの提案http://stackoverflow.com/questions/15641717/download-files-pdf-from-web1には、正確な実行方法が示されています。 –
あなたの研究がこれまでに作り出したことを教えてください。 "* vbaダウンロードファイル*"のgoogle検索で、https://stackoverflow.com/questions/17877389/how-do-i-download-a-file-using-vba-without-internet-explorerへ私を誘導しました。あなたはそれを試しましたか?同様に、 "* vba loop lines in file *"を検索すると、ファイルの内容を読み込むための多くの便利な(スタックオーバーフロー)ソリューションが得られます。それでも問題が解決しない場合は、正確にあなたのために働いていないものについてより具体的に質問を言い換えるべきです。 – Leviathan