Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Bildeigenschaften auslesen und verarbeiten

Begonnen von datekk, Juni 27, 2016, 09:30:22

⏪ vorheriges - nächstes ⏩

datekk

Hallo,

meine Datenbank dient u.a. zur Verarbeitung und Zuordnung von Dokumenten, welche wir von Kunden als Bilddateien in den Formaten wie JPG oder PDF geliefert bekommen. Hierbei müssen die Daten aber bestimmten Anforderungen in Größe und Qualität entsprechen (dpi). Wie lassen sich solche Details mit VBA auslesen und verarbeiten? Z.b. soll bei einem geringerem dpi Wert als 300 eine Meldung ausgegeben werden, ebenso bei falscher Größe.

Bei Textdateien (Word Format) wäre die Zeichenanzahl interessant usw.

Wie ist dies möglich?

Beste Grüße
datekk
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

ich denke, mit Access-Boradmitteln wirst Du da nicht weit kommen, allenfalls sind API-Funktion bzgl. der Bildeigenschaften verwendbar.   Es gibt aber kleine Tools (und auch größere) , um Bilder in der Größe anzupassen (Picture resizer). Solche könnten z. B. mit Shellexecute angestoßen werden.

Um die Word-Zeichnanzahl zu erhalten, könnten die Eigenschaften mittels Word-Automation ausgelesen werden.

bahasu

Hi,

anbei Links, die mir geholfen hatten:
http://www.herber.de/forum/archiv/344to348/345827_bildgroesse_von_jpgdateien_ermitteln.html
https://msdn.microsoft.com/de-de/library/bb979154.aspx

Bei der Kombination der Themen Access und Bilder habe ich eine Quelle ewiger "Freude" erfahren und auch gelernt, offen zu sein für ganze neue Fehler :-(

Good luck

Harald
Servus

datekk

#3
Hallo, danke für Eure Antworten. Jedoch geht es mir nicht um das verändern der Eigenschaften, sonder lediglich um das Auslesen der Eigenschaften. Es sollen keine Bildgrößen oder ähnliches verändert werden.

Die Dateiinformationen lassen sich ja z.B. mit einem Rechtsklick auf die Datei / Eigenschaften / Details ganz einfach unter Windows anzeigen. Ggf. kann man das ja auch einfach mittels VBA abrufen?
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

daolix

Hallo
für Bilder (jpg, bmp...) kannst du im Normalfall GDI+ verwenden.
Für pdf's die dpi auslesen ist wohl wenn überhaupt nicht so einfach. zumindest sehe ich diese Angabe nicht unter "Datei / Eigenschaften / Details"
für die worddocs (docx, doc,...) musst du wie schon von DF6GL erwähnt auf die Wordautomation zurückgreifen.

hier mal kurz wie du bei Bildern die Dimensionen sowie die ppi auslesen kannst


With CreateObject("new:{A2E6DDA0-06EF-4DF3-B7BD-5AA224BB06E8}")
        .LoadFile "DeinLW:\DeinPath\DeinBild.(jpg|bmp|png...)"   '<<-- anpassen
        Debug.Print .HorizontalResolution, .VerticalResolution     'ppi
        Debug.Print .Width, .Height                                               'pixel
End With



crystal

Hallo,

für diverse Bild- und Video-Formate gibt es das kostenlose Tool MediaInfo. Leider kann es keine pdf-Metadaten laden.

Unter
https://msdn.microsoft.com/de-de/library/bb979154.aspx
findest du eine Routine, die deiner letzten Frage als Lösung sehr nahe kommt. Sie liest die erweiterten Datei-Attribute (ähnlich Explorer->Rechtsklick->Eigenschaften->Details. Die im Link angegebene Liste der Attribute ist vermutlich nicht (mehr) vollständig.

Schließlich noch ein Link für MS-Office-Dateien (und wohl auch pdfs):
https://www.xing.com/communities/posts/dateiverwaltung-mit-dsofile-1002110418
Müsste eben für VBA angepasst werden...

Hoffe, das hilft.

PS: sehe gerade, dass du der erste MS-Link schon von Harald gepostet wurde, sorry.
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

crystal

Hier noch ein interessanter Link:

https://sourceforge.net/projects/meta-extractor/

Es handelt sich dabei um ein in Java geschriebenes Tool, das ursprünglich von der National Library of New Zealand entwickelt wurde.

Bei mir läuft es nicht, weil der Java-Heap zu klein ist. Vielleicht kann da jemand anderes weiter helfen.
Wer Fehler in meinen Antworten findet, darf sie behalten, muss sie aber kommentieren. ;-)
Dies ist keineswegs arrogant gemeint, sondern soll nur unterstreichen, dass meine Antworten - natürlich - nicht immer fehlerfrei sind und sein können.
Devise: bitte immer erst selbst probieren!

Aus gesundheitlichen Gründen nur noch selten dabei...

datekk

Ich hab die Umsetzung erstmal zurück gestellt. Ich melde mich wieder, wenn ich wieder "dran" bin. Danke für die Lösungsansätze :)
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps