Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel URL Bilderlinks in einen Ordner downloaden
#1
Tongue 
Werte Community,

ein herzliches Hallo erstmal in die Runde. 

Evtl. hat hier jemand schonmal eine ähnliche Aufgabenstellung gehabt und kann mir helfen.  Huh

Durch einige Forenartikel und google-ei werde ich um VBA vermutlich nicht herumkommen - richtig?
Falls ja, bitte seit so nett und sagt mir auch wie ich
a, das Makro in Excel "einpflege"
Etwas recherche wohl mit
ALT + F11 --> neues Marko. In das leere Feld und speichern.
b, wie ich es "aktiviere, abspiele, nutze, etc.".

Ich habe oftmals Herstellerlisten in welche dessen Artikelbilder (per URL) hinterlegt sind.
Wie kann ich (ohne zehntausende Artikel manuell zu downloaden) eine komplette Spalte bzw. deren URLs dazu "bewegen" die Bilder in einen bestimmeten Ordner zu laden?

Das Erklären des Problems war irgendwie viel einfacher, als mein fehlendes Know-How zu schildern...  19

Falls wichtig, die Links sind klassisch aufgebaut, sprich:
https://herstellerseite/bilder/artikelbe...elname.png

Bin für jede Hilfe dankbar.

Danke
Antworten Top
#2
Hallöchen,

Deine Frage steht auf erledigt, ist das korrekt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo schauan,

wie ist das denn passiert? Gleich wieder geändert, danke...

Nein, habe dazu noch keine Excellösung gefunden.
Bin online auf ein Programm, scheint wohl eine Art Plugin für Excel zu sein, die das wohl umsetzen kann.

Keine Schleichwerbung aber evtl. hilft das dem ein oder anderen. Programm ist von centerofefficiency und kostet wohl ~ 7€ p.a. als Lizenz.

https://www.centerofefficiency.com/de/ex...excel.html

Werde mir das (vermute ich) die Tage mal ansehen, wegen 7€ will ich nicht, dass jemand sich hier die Mühe macht.
Falls doch, nutze ich den Vorschlag selbstredend dennoch dankend & gerne.

VG und schönen Start allen ins anstehende, sonnige WE

Nachtrag: 6,95€ netto
Antworten Top
#4
Hallöchen,

im Netz hab ich irgendwann mal das gefunden. Die Zeilen mit Debug.Print sind nur zur Kontrolle und können später weg.

Code:
Option Explicit

Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" _
  Alias "URLDownloadToFileA" ( _
  ByVal pCaller As Long, _
  ByVal szURL$, _
  ByVal szFileName$, _
  ByVal dwReserved As Long, _
  ByVal lpfnCB As Long) As Long

Sub HyperLinkKopieren()
Dim Hl As Hyperlink
Dim rngBereich As Range          'Bereich, der nach Hyperlinks durchsucht wird
Dim strQuellDat As String        'Pfad + Datei, die kopiert werden soll
Dim strDatName As String        'Dateiname bei Dateien, die im Internet stehen

'Speicherort angeben
Const strPfad As String = "C:\temp\"      '<--- anpassen! - mit Backslash "\" abschließen!

'Existiert der Speicherort?
  If Dir(strPfad, vbDirectory) = "" Then
      MsgBox "Der angegebene Pfad ist ungültig!" & vbLf & vbLf & _
              "Bitte richtigen Pfad im Code angeben!" & vbLf & vbLf & _
              "Das Makro bricht ab!"
               
      Exit Sub
  End If

'Bereich, der nach Hyperlinks durchsucht wird angeben:
  With ThisWorkbook.Worksheets("Tabelle1")          '<--- anpassen!
      Set rngBereich = .Range("A1:A10")              '<--- anpassen!
  End With

'Schleife über alle Hyperlinks in diesem Bereich
  For Each Hl In rngBereich.Hyperlinks
      strQuellDat = Hl.Address                                                      'Quelldatei
      Debug.Print "Quelldatei : " & strQuellDat
      If LCase(Left(strQuellDat, 4)) = "http" Then                                  'Quelldatei online
        strDatName = Split(strQuellDat, "/")(UBound(Split(strQuellDat, "/")))      'Dateiname
        Debug.Print URLDownloadToFile(0, strQuellDat, strPfad & strDatName, 0, 0)  'herunterladen
      Else                                                                          'Quelldatei offline
        FileCopy strQuellDat, strPfad & Dir(strQuellDat, vbNormal)                'Speichern unter
      End If
  Next
   
'aufräumen:
  Set rngBereich = Nothing
  Set Hl = Nothing
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo, 19

eine Möglichkeit, wenn du die Adressen der Bilder wie oben von dir angegeben hast: 21

.xlsb   Internet_Shapes_AddPicture_Bilder_aus_dem_Web_laden_in_Tabellenblatt.xlsb (Größe: 17,19 KB / Downloads: 5)
________
Servus
Case
Antworten Top
#6
Hallo zusammen,

war nun einige Tage unterwegs - sorry.

@case: schaue ich mir morgen nochmal an, die Funktion fügt sie gleich in die Liste ein. Kann ich ggf. für anders Sachen gut gebrauchen
Merci!

Mir ging es jedoch um diese gleich in einen Ordner lokal zu laden.

@schauan.
Jetzt kommt genau mein beschriebenes Problem.
Wie / wo muss ich den Code einsetzen, aktivieren, etc.?

Schönen Abend
Antworten Top
#7
Hallöchen,

DU hast es in Deiner Frage ja eigentlich schon beschrieben - nur dass der Code das Makro ist und Du dafür ein neues "Modul" - das leere Feld - anlegst Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo zusammen,

sorry für die späte Rückmeldung. War einige Tage geschäftlich unterwegs.
Habe jmd. regional gefunden, der mir für ein schmales Geld ein kleines Programm geschrieben hat mit dem ich einige Funktionen einstellen kann und genau auf mich abgeschnitten ist :)

Danke für die netten Zuschriften.

VG
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste