Bilder mit VBA (Excel) verkleinern

Vorgeschichte

Dieses kleine Tool entstand als „Arbeitserleichterungsmittel“ für meine Arbeitskollegen. Auf unseren Prüfstands-Rechnern in der Arbeit ist es aus Sicherheitsgründen leider nicht gestattet Fremdsoftware, welche nicht explizit von der IT-Sicherheit freigegeben wurde, zu installieren. Nun müssen wir aber von diesen Rechnern aus des Öfteren Bilder von diversen Prüfstandsaufbauten auf eine datenbankbasierte Softwareplattform übertragen. Leider hat diese Plattform den Nachteil, dass es eine Beschränkung für die maximale Größe der hochzuladenden Dateien gibt. Diese Grenze ist hierbei so niedrig gewählt, dass selbst Fotos welche mit der niedrigsten einstellbaren Auflösung von unserer Digitalkamera aufgenommen wurden sind, noch zu groß waren.

Diese beiden Fakten zusammen führten dazu, dass wir anfänglich die Fotos noch einzeln mit MS-Paint verkleinerten, was bei mehreren Fotos natürlich mühsam und auch ein wenig nervig war. Zum Glück verfügten aber auf alle Rechner über eine Microsoft Office Installation und so bastelte ich in VBA* für Excel ein Tool, mit welchem die Bilder auf der Festplatte ausgewählt, prozentual verkleinert, und anschließend als neue Datei mit auswählbarer Dateierweiterung gespeichert werden konnten. Leider ist dies nicht gerade das wofür Excel eigentlich genutzt wird, doch dank VBA* ist auch diese „Zweckentfremdung“ ganz praktikabel geworden.

 

Nutzung

Die Nutzung ist dabei denkbar einfach. Nach dem Öffnen der Excel-Datei „Bilder verkleinern v1.01.xlsm“ wird automatisch das Formular zur Auswahl der Bilddateien angezeigt. Falls noch nicht geschehen, muss hierzu das Ausführen von Makros zugelassen werden.   

 

Screenshot der geöffneten Excel-Datei zum Verkleinern von Bilddateien

 

Anschließend öffnet man durch Klicken auf „Datei / Dateien auswählen“ den Öffnen-Dialog in welchem anschließend die zu verkleinernden Bilddateien ausgewählt werden können. Hier können natürlich auch mehrere Dateien gleichzeitig markiert werden. Hat man alle benötigten Dateien markiert, bestätigt man die Auswahl durch Klicken auf OK. 

 

Screenshot des Öffnen-Dialogs mit ausgewählten Bilddateien

 

Nachdem der Öffnen-Dialog sich geschlossen hat findet man in der ListBox des Hauptfensters eine Auflistung aller geladenen Dateien, inkl. einiger Zusatzinformationen über die Auflösung und Bildgröße der Originaldatei. 

 

Auflistung der geladenen Bilddateien, inkl. einiger Zusatzinformationen

 

Jetzt folgt das Einstellen des Verkleinerungsfaktors und die Angabe der anzuhängenden Dateierweiterung, wonach der eigentliche Verkleinerungsvorgang durch Klicken auf „Bilder verkleinern“ schließlich gestartet werden kann. Der Vorgang nimmt je nach Dateianzahl und Bildgröße einiges an Zeit in Anspruch. Ist die Verkleinerung aller Bilddateien abgeschlossen, wird eine entsprechende Benachrichtigung ausgegeben.

 

Benachrichtigung über abgeschlossene Verkleinerung

 

Die Dateien mit den verkleinerten Bildern findet man anschließend im gleichen Ordner wie die geladenen Bilddateien. Erkennen kann man diese durch die an den Originaldateinamen angehängte Erweiterung. Damit ist der Vorgang abgeschlossen und das „Programm“ kann durch Betätigen des Schließkreuzes geschlossen werden. 

 

Screenshot umgewandelte Bilddateien im Stammverzeichnis der Originalbilder

 

Fazit

Diese einfache Möglichkeit kann einem auf Rechnern wo keine Software installiert werden kann oder darf, die nervige Arbeit des manuellen Verkleinerns von Bilddateien erleichtern. Die einzige Nutzungsvoraussetzung ist, dass für die Verwendung Excel installiert sein muss.

 

Download Bilder mit VBA (Excel) verkleinern

Für meine Freunde und alle Interessierten biete ich hier das Programm zum Bilder verkleinern mit VBA (Excel) zum Download an. Da es mit den *.ZIP Dateien evtl. zu Problemen beim Download kommen kann (ZIP-Archive werden in einigen Web-Browsern als potentielle Bedrohung erkannt und der Download blockiert), stelle ich die Datei sowohl als *.ZIP, als auch als *.7z zur Verfügung. Für die letztere Datei benötigt man das kostenlose Kompressionsprogramm 7-Zip* was hier* heruntergeladen werden kann. (https://www.7-zip.de/).   

 

Download “VBA Bilder mit Excel verkleinern (Zip-Archiv)” Bilder-verkleinern-V1.0.1.0.zip – 77-mal heruntergeladen – 50 kB

Download “VBA Bilder mit Excel verkleinern (7-Zip-Archiv)” Bilder-verkleinern-V1.0.1.0.7z – 18-mal heruntergeladen – 50 kB

 

Debugging:

Trotz größter Sorgfalt und mehrfachem Testen kommt es immer wieder vor, dass sich in Software Bugs oder Fehler einschleichen, welche beim Erstellen übersehen, oder einfach nicht gefunden werden. Wenn jemand so einen Fehler finden sollte, oder sonstige Anregungen, Ideen oder Verbesserungen zum Programm hat, dann wäre es schön wenn dies einfach im Kommentarbereich kommuniziert wird. So kann ich die Änderungen in das nächste Versions-Update einfach mit einfließen lassen. 

 

Haftungsausschluss:

Die hier veröffentlichte Software wurde auf mehreren Systemen fehlerfrei getestet. Dennoch kann für evtl. Beschädigungen, Instabilitäten oder sonstige Beeinträchtigungen, welche unmittelbar durch die Installation, Nutzung, oder in sonstiger Weise in Zusammenhang stehend mit der hier zum Download angebotenen Software auftreten keinerlei Haftung übernommen werden. Der Download, die Installation und Nutzung geschehen auf eigenes Risiko! Bei Problemen wenden sie sich bitte an info@langer-sebastian.de!

 

2 Gedanken zu „Bilder mit VBA (Excel) verkleinern

  • Oktober 5, 2021 um 10:43 am
    Permalink

    Hi Sebastian,
    erstmal vor ab ich bin kein großer Programmierer. Dein Prg. zum verkleinern von Bildern finde ich echt super.
    Würde ja mal gerne den Code sehen 🙂 (Scheiß Neugier..).
    Ich Habe in Excel Vba ein Prg. geschrieben welches die Bilder aus einen Pfad einliest Text mit einfügt und wieder zurück speichert.
    Das ganze fungiert so einigermaßen aber noch nicht wirklich gut.
    Vielleicht hast du Lust dir mal den Code anzuschauen.
    Mach weiter so. es müsste einfach mehr von deiner Sorte geben.

    Gruß

    Antwort
    • Oktober 6, 2021 um 6:27 pm
      Permalink

      Hallo zurück,
      vielen Dank für die netten Worte. Wie du sicherlich schon mitbekommen hast liegen die Stärken von Excel / VBA jetzt nicht gerade beim Bearbeiten von Bildern. Ich habe Excel dafür nur genutzt, weil mir kein anderes Programm als die Office-Produkte zur Verfügung standen. Herausgekommen ist zwar ein funktionierendes Tool, doch der Ablauf des Verkleinerns und auch der VBA-Code sind jetzt nicht gerade der Burner! 🙂
      Ich kann mich noch dunkel daran erinnern, dass ich anfänglich einige Probleme mit unterschiedlichen Auflösungen (DPI = Dots per Inch) der Bilder hatte, welches ich durch mehrere Methoden zur Bestimmung der Auflösung und Bildgröße gelöst bekommen habe (ziemliche „Frickelei“). Ich habe dir mal eine nicht geschützte Version der Excel-Datei per Mail geschickt, dann kannst du dir mal anschauen was ich da verbrochen habe.
      Versuchst du in deinem Projekt den Text direkt in das Bild einzufügen? Das hört sich auch sehr interessant an und ich glaube da gibt es sicherlich auch den einen oder anderen der sowas gut gebrauchen kann, also bleib am Ball. 🙂

      Viele Grüße
      Sebastian

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.