Hyperlink-Datei regelmäßig speichern in Excel
Schritt-für-Schritt-Anleitung
Um eine JPG-Datei, die über einen Hyperlink in einer Excel-Tabelle verlinkt ist, alle 15 Minuten unter einem fortlaufenden Namen zu speichern, kannst Du den folgenden VBA-Code verwenden:
-
Öffne Deine Excel-Datei und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
> Modul
, um ein neues Modul zu erstellen.
-
Kopiere und füge den folgenden Code in das Modul ein:
Sub SaveImage()
Dim imgURL As String
Dim imgName As String
Dim imgPath As String
Dim counter As Integer
counter = 1
imgURL = ThisWorkbook.Sheets(1).Hyperlinks(1).Address
imgPath = "C:\temp\Bild" & Format(counter, "000") & ".jpg"
' Image herunterladen
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", imgURL, False
.send
If .Status = 200 Then
Dim imgStream As Object
Set imgStream = CreateObject("ADODB.Stream")
imgStream.Type = 1 ' Binary
imgStream.Open
imgStream.Write .responseBody
imgStream.SaveToFile imgPath, 2 ' 2 = create or overwrite
imgStream.Close
End If
End With
counter = counter + 1
' Timer für alle 15 Minuten setzen
Application.OnTime Now + TimeValue("00:15:00"), "SaveImage"
End Sub
-
Schließe den VBA-Editor.
-
Drücke ALT + F8
, wähle SaveImage
aus und klicke auf Ausführen
.
Dieser Code speichert das Bild im Verzeichnis C:\temp\
alle 15 Minuten unter den Namen Bild001.jpg
, Bild002.jpg
, usw.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es auch Tools von Drittanbietern, die das Herunterladen von Bildern von Hyperlinks automatisieren können. Programme wie JDownloader
oder wget
können dabei helfen, aber sie erfordern zusätzliche Softwareinstallation.
Praktische Beispiele
Ein praktisches Beispiel wäre, wenn Du regelmäßig Bilder von einer Website zur Dokumentation herunterladen möchtest. Durch die Verwendung des VBA-Codes kannst Du sicherstellen, dass die neuesten Bilder automatisch gespeichert werden, ohne dass Du manuell eingreifen musst.
Tipps für Profis
- Debugging: Wenn Du den Code anpasst, verwende
Debug.Print
im Code, um Informationen in das Direktfenster auszugeben. So kannst Du den Verlauf und die Werte überprüfen.
- Erweiterungen: Du kannst den Code erweitern, um mehrere Hyperlinks in der Tabelle zu verarbeiten, indem Du eine Schleife verwendest.
FAQ: Häufige Fragen
1. Kann ich die Zeitspanne ändern?
Ja, ändere einfach den TimeValue("00:15:00")
im Code in die gewünschte Zeitspanne.
2. Funktioniert das in Excel 2016 und neuer?
Ja, der VBA-Code funktioniert in Excel 2016 sowie in neueren Versionen. Achte darauf, dass Makros aktiviert sind.