2012-04-30 12 views
8

मेरे पास बहुत सारे आलेख संख्याओं के साथ एक एक्सेल सूची है, उदाहरण के लिए। "23378847"। और मैं अपने फ़ोल्डर में संग्रहीत सूची में मेरे सभी आलेख संख्याओं की तस्वीरें चाहता हूं।यूआरएल से चित्र प्राप्त करें और फिर चित्र का नाम बदलें

लेकिन परिणाम निम्नानुसार होगा। यह 23378847.jpg किया जाना चाहिए नहीं 152499

http://media.byggtjeneste.no/media/bilde/152499/LargeThumbnail
या
http://www.nobb.no/Nobbnr/OrginalBilde/23378847/152499

वहाँ एक रास्ता है कि मैं एक शेयरों है कि मेरे फ़ाइल को पढ़ने बनाने के लिए और सूची में के रूप में ही आलेख संख्या के साथ तस्वीर को बचा सकता है है ?

+0

ओह ... मेरी अंग्रेज़ी खराब है ... कि :) यह सब ठीक नहीं के लिए खेद है। मेरी सूची में मुझे अपनी संख्या मिली, कि यूआरएल में चित्र हैं और मैं अपने चित्रों में सभी तस्वीरें डाउनलोड करना चाहता हूं। लेकिन जैसा कि आप देखते हैं कि साइट पर एक कमजोर समापन/नामकरण (1524 99) है जो मुझे समस्या देता है। – Frank

+0

वे कहते हैं कि मैं का उपयोग करने की जरूरत है "प्राप्त /ProduktInfo.asmx/HentBildeLenke?sModulNr=string&sBilledStorrelse=string HTTP/1.1 मेजबान: produktinfo.byggtjeneste.no" और इतने पर। बीटीडब्ल्यू: आपके समय शेगिट के लिए धन्यवाद :) – Frank

+0

ठीक है, whereever से आपको कुछ मदद मिली, यह अच्छा है। यहां आपके प्रश्न के लिए आपको यह स्पष्ट करने के लिए इसे फिर से लिखना चाहिए कि आपका क्या मतलब है। इसे केवल अपने टिप्पणियों के अंदर ही, अपने प्रश्न के अंदर रखें। –

उत्तर

22

यहां एक नमूना है जो आपकी मदद करेगा।

मुझे लगता है कि आपकी एक्सेल फ़ाइल इस तरह दिखेगी। कृपया लागू कोड को संशोधित करें।

enter image description here

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 
+0

हाय सिद्धार्थ! बहुत अच्छा :) मेरी सूची लिंक के बिना है ... केवल 23378847 और इसी तरह एक कॉलम में। लिंक मैक्रो के अंदर होना चाहिए। – Frank

+0

तो मैक्रो कैसे पता चलेगा कि प्रत्येक आईडी के लिए लिंक क्या हैं? –

+0

अहह ..... मुझे मिल गया ... मेरे लिए एक भगवान उर :) धन्यवाद बहुत !! – Frank

संबंधित मुद्दे