重複の可能性:
URLから画像を取得してから画像の名前を変更します
ダウンロードする必要のあるファイルリンクが30以上あります。これを優れたものにする方法はありますか?
30以上のリンクを取得するには、Excelで行うクリーンアップを実行する必要があるため、Excelで実行したいと思います。
私はこれを毎日行う必要があります。エクセルで行う方法があれば素晴らしいでしょう。
たとえば、A2が画像の場合、この画像をフォルダにダウンロードします
https://www.google.com/images/srpr/logo3w.png
logo3w.pngの名前をB2にあるものに変更する方法があれば、それはさらに素晴らしいので、ファイルの名前を変更する必要はありません。
以下のスクリプト、私はオンラインで見つけました、それは動作しますが、名前を変更するのに助けが必要です。
列A2:downにすべてのリンクがあります
列B2:downに拡張子が付いたファイル名があります
Const TargetFolder = "C:\ Temp \"
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
Sub Test()
For Each Hyperlink In ActiveSheet.Hyperlinks
For N = Len(Hyperlink.Address) To 1 Step -1
If Mid(Hyperlink.Address, N, 1) <> "/" Then
LocalFileName = Mid(Hyperlink.Address, N, 1) & LocalFileName
Else
Exit For
End If
Next N
Call HTTPDownloadFile(Hyperlink.Address, TargetFolder & LocalFileName)
Next Hyperlink
End Sub
Sub HTTPDownloadFile(ByVal URL As String, ByVal LocalFileName As String)
Dim Res As Long
On Error Resume Next
Kill LocalFileName
On Error GoTo 0
Res = URLDownloadToFile(0&, URL, LocalFileName, 0&, 0&)
End Sub