Bildgröße auslesen in Excel
Schritt-für-Schritt-Anleitung
Um die Bildgröße in Excel zu ermitteln, kannst Du das folgende VBA-Makro verwenden. Damit kannst Du die Breite und Höhe eines Bildes abfragen, ohne es in ein Arbeitsblatt einzufügen.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
.
- Füge den folgenden Code in das Modul ein:
Public Sub BildgroesseErmitteln()
Dim objPicture As IPictureDisp
Set objPicture = LoadPicture("G:\Eigene Dateien\Eigene Bilder\Diagonales.jpg") ' Pfad zum Bild anpassen
MsgBox "Breite in Himetric: " & CStr(objPicture.Width) & vbLf & _
"Höhe in Himetric: " & CStr(objPicture.Height)
Set objPicture = Nothing
End Sub
- Ändere den Bildpfad in der
LoadPicture
-Funktion, um das gewünschte Bild auszuwählen.
- Führe das Makro aus, um die Bildgröße anzuzeigen.
Häufige Fehler und Lösungen
-
Fehler: „Insert-Methode nicht gefunden“
- Lösung: Verwende die
LoadPicture
-Methode anstelle von Insert
, um nur die Bilddaten zu erhalten.
-
Fehler: „Objektvariable nicht gesetzt“
- Lösung: Stelle sicher, dass der Pfad zum Bild korrekt ist und das Bild existiert.
-
Fehler: „objPicture.With und objPicture.Height“
- Lösung: Achte darauf, die richtigen Eigenschaften
Width
und Height
zu verwenden (nicht With
und Hight
).
Alternative Methoden
Eine alternative Methode, um die Bildgröße herauszufinden, ist die Verwendung der Windows-Shell über VBA. Hier ist ein Beispiel:
Sub BildgroesseMitShell()
Dim fso As Object
Dim file As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("G:\Eigene Dateien\Eigene Bilder\Diagonales.jpg") ' Pfad anpassen
MsgBox "Dateigröße: " & file.Size & " Bytes"
End Sub
Diese Methode gibt die Dateigröße in Bytes zurück, ist aber nicht direkt die Bildgröße.
Praktische Beispiele
Um zu ermitteln, ob ein Bild im Hoch- oder Querformat gespeichert ist, kannst Du den folgenden Code verwenden:
Sub FormatErmitteln()
Dim objPicture As IPictureDisp
Set objPicture = LoadPicture("G:\Eigene Dateien\Eigene Bilder\Diagonales.jpg") ' Pfad anpassen
Dim bb As Integer, bh As Integer
If objPicture.Width > objPicture.Height Then
bb = 4 ' Querformat
bh = 3
Else
bb = 3 ' Hochformat
bh = 4
End If
MsgBox "Format: " & bb & " und " & bh
Set objPicture = Nothing
End Sub
Tipps für Profis
- Verwende relative Pfade: Wenn Du mehrere Bilder hast, kann es hilfreich sein, relative Pfade zu verwenden, um die Flexibilität zu erhöhen.
- Fehlerbehandlung einbauen: Implementiere
On Error Resume Next
, um Fehler besser zu handhaben und benutzerfreundliche Fehlermeldungen anzuzeigen.
- Speichere die Bilddaten in einer Tabelle: Du kannst die ermittelten Bildgrößen in einem Excel-Arbeitsblatt speichern, um sie später zu analysieren.
FAQ: Häufige Fragen
1. Wie kann ich die Bildgröße von mehreren Bildern gleichzeitig ermitteln?
Du kannst eine Schleife verwenden, um durch eine Liste von Bildpfaden zu iterieren und die Bildgröße für jedes Bild zu ermitteln.
2. Welche Einheiten verwendet das Makro für die Bildgröße?
Die Werte für die Breite und Höhe werden in Himetric (1 Himetric = 1/100 Zoll) zurückgegeben. Du kannst sie in andere Einheiten umrechnen, falls nötig.