Blattgröße einer Tiffdatei ermitteln VBA

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Frame MsgBox
Bild

Betrifft: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 13.04.2005 09:43:56
Hallo an alle Freeks...........
Gibt es eine Möglichkeit unter VBA (VBE Excel) in eine Tiffdatei "hineinzuschauen" und die Größe in inch oder cm zu ermitteln??
Jedes kleine Bildbearbeitungsprogramm kann dies ja unter "Information"
Ich würde dies benötigen, um CAD-Zeichnungsableitungen, die als Tiffausdrucke vorliegen in einem Batchprozess abzuarbeiten.
Vielen Dank für jeden Tip!!!!
mfg
Konrad

Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Werner Oertli
Geschrieben am: 13.04.2005 10:00:21
Hallo Konrad
Rechte Maustaste - Grafik formatieren..
im Register Größe
Das ist dieselbe Größe wie sie z.B. im Photoshop angezeigt wird.
Was Du aber nicht sehen kannst, ist die Auflösung. Auch sonst keine Metatdaten.
Gruss Werner
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 13.04.2005 10:25:17
Hallo Werner,
danke erst mal..........
Doch habe ich eigentlich vor, dass das VBA-Proggy die Datei untersucht und dann aufgrund der Information, die das Modul aus der Tiffdatei ausliest, entscheiden soll ob es sich um eine Zeichnung DIN A0 oder DIN A1 .... usw. handelt.
Der Dateiname ist dem Modul bekannt aber sonst halt nichts.........
mfg
Konrad
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Werner Oertli
Geschrieben am: 13.04.2005 10:44:35
Hallo Konrad
Wie ensteht denn Deine *.Tiff Datei Aus einer CAD Zeichnung?
Ich Habe soeben mal zwie Zeichnungen konvertiert. Eine A0 und eine A1
Die Grösse A0 ist 371.5 zu 262.78cm
Die Grösse A1 ist 262.78 zu 185.85cm
Vielleicht hilft Dir Das weiter.
Ich lasse den Thread noch offen.
Gruss Werner
Bild

Betrifft: Noch offen
von: Werner Oertli
Geschrieben am: 13.04.2005 10:48:14
Bin gerade gestört worden
sorry
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 13.04.2005 10:50:25
Hi Werner,
die Tiffdatei entsteht dadurch, dass ich in einen virtuellen Drucker plotte (Universal Dokument Converter) mit der Vorgabe z. B. Blatt A0, Auflösung 300x300 Dpi.
Damit steht im Tiff-Dokument das Attribut 118,1 cm x 81,4 cm für die Seitengröße.
Jetzt gilt es im Prinzip, das gleiche zu machen, was manuell mit der rechten Maustaste möglich ist, nämlich diese Attribute auszulesen, auszuwerten und dann einfach per VBA zu entscheiden wenn (118,1 cm x 81,4 cm ) dann handelt es sich um DIN A0.........
mfg
Konrad
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Herbert
Geschrieben am: 13.04.2005 13:23:25
Hi,
wenn du nur diese eine Information brauchst, kannst das doch aus der Dateigröße
ableiten. Ansonsten recherchiere mal nach Dateieigenschaften Windows lesen, da
gabs vor kurzem eine Lösung.
mfg Herbert
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 13.04.2005 14:00:06
Hallo,
ganz so banal ist das aber nicht:
Die Dateigröße ist extrem abhängig von der Farbtiefe.
Leider habe ich aber in meinem vorherigen Posting Maße genannt, die aber nicht in der Dateiinfo stehen, sonder es steht definitiv die Anzahl Pixel in Breite und Höhe plus die Auflösung in Breite und Höhe als Dateiinfo in Tiff-Dateien.
Aufgrund der Info Pixel in der Breite plus Auflösung in der Breite wäre es nun kein Problem auf die Seitengröße zurückzurechnen.
Der Hinweis auf Windows und Dateieigenschaft führt leider in eine Sackgasse, da Microsoft hier eine Api-Schnittstelle nur für Office-Dateien zur Verfügung stellt.
Vielen Dank für alle Tips!
mfg
Konrad
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Herbert
Geschrieben am: 13.04.2005 14:15:08
Hi,
kein API nötig, setzt mal einen Verweis auf MS Shell Controls and Automation und sieh dir
GetDetailsOf an.
mfg Herbert
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 13.04.2005 16:42:46
Hi,
Leider komme ich mit GetDetailsOf nur an ganz banale Attribute einer Tif-Datei ran.
Nach vielen Recherchen kam ich nur auf eine Lösung die für .jpg-dateien arbeitet:
ein Executable jhead.exe
würde mit jpg alles machen.................habs getestet....
Ein anderer Verweis geht immer auf "exif" hinaus, was mich jedoch endgültig überfordert, da ich eigentlich nur mit VBE von Excel arbeiten möchte..........
Microsoft nun verweist auf die .NET Framework Class Library --- was immer das auch ist.......:
NET Framework Class Library
Image.HorizontalResolution Property
Gets the horizontal resolution, in pixels-per-inch, of this Image object.
[Visual Basic]
Public ReadOnly Property HorizontalResolution As Single
........auf jeden Fall wäre hier eine adäquate Funktion vorhanden -- Kann mir nun vielleicht jemand auf die Sprünge helfen, ob dies in Office 2000 noch nutzbar gemacht werden kann (Microsoft bietet eine ganze Reihe von SDK's zum Download an)
..............
mfg
Konrad
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Herbert
Geschrieben am: 13.04.2005 17:29:18
Hi,
habs gerade mal probiert, Item 27 liefert Höhe mal Breite, Item 28 die Breite in Pixeln
Item 29 die Höhe in Pixeln.
mfg Herbert
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 14.04.2005 07:24:57
Guten Morgen Herbert,
hab ich das richtig verstanden, Du hast die Funktionalität der .NET Framework Class Library verwendet?
Gehe ich recht in der Annahme, dass Dir dazu MS Visual Studio in einer aktuellen Version zur Verfügung steht -- oder wie ist Dir das gelungen?
Bitte lass mich nicht dumm sterben :-)
mfg
Konrad
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Herbert
Geschrieben am: 14.04.2005 09:53:35
Hi,
wie schon geschrieben ganz normal über MS Shell controls and Automation und
GetDetailsOf. Liefert ein Array mit den 34 Informationen aus dem Dateiheader.
Der Code stammt von K.Rola hier im Forum vor ca. 4 Wochen veröffentlicht.
mfg Herbert
Bild

Betrifft: AW: Blattgröße einer Tiffdatei ermitteln VBA
von: Konrad
Geschrieben am: 14.04.2005 11:18:12
Hallo Herbert,
ich steh leider voll auf dem Schlauch.
Finde weder den Beitrag von K.Rola noch krieg ich ein anderes Ergebnis:
Private Sub btnGetDetailsOf_Click()
Dim objShell As Shell
Dim objFolder As Folder
Set objShell = New Shell
Set objFolder = objShell.NameSpace("C:\DB")

If (Not objFolder Is Nothing) Then
Dim objFolderItem As FolderItem
Set objFolderItem = objFolder.ParseName("4600282710010.tif")

If (Not objFolderItem Is Nothing) Then
Dim szItem As String
szItem = objFolder.GetDetailsOf(objFolderItem, 27)
MsgBox szItem
End If

Set objFolderItem = Nothing
End If
Hättest Du nicht ein kleines Codeschnipsel für mich??????????
Offensichtlich stimmt das objFolderItem nicht ????????? dies ist aber
die einzige info die ich von Microsoft gefunden habe.........
mfg
Konrad
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Blattgröße einer Tiffdatei ermitteln VBA"