Hallo eierlein,
danke für die schnelle Rückmeldung. Ich bin noch ein blutiger Anfänger bezüglich VB. Ich wüsste nicht wie ich dies bewerkstelligen sollte.
Folgend mal mein bisher geschriebener Code:
' Variable Dateiname setzen
Dateiname = "C:\Test\1143522_RB~0.pdf"
' Datei öffnen/auslesen
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTest = objFSO.GetFile(Dateiname)
If objTest.Size > 0 Then
Set objFile = objFSO.OpenTextFile(Dateiname, ForReading)
strText = objFile.ReadAll
objFile.Close
end if
' PDF nach einem String durchsuchen und den Startpunkt ermitteln
abmessungen_start1 = InStr(strText,"MediaBox[")+9
abmessungen_start2 = InStr(strText,"MediaBox [")+9
' tatsächlichen Startpunkt in Abhängigkeit von start1 und start2 ermitteln
if(abmessungen_start1="9") then
abmessungen_start = abmessungen_start2
elseif(abmessungen_start1<>"9") then
abmessungen_start = abmessungen_start1
end if
' Position an der die abschliessende eckige Klammer steht
abmessungen_end = InStr(abmessungen_start,strText,"]",1)+1
' Zeichenlaenge der Werte innerhalb der eckigen Klammern
laenge_start_to_end = abmessungen_end - abmessungen_start - 1
' Bereich in dem die Werte der PDF-Groesse in den eckigen Klammern steht
abmessungen = mid(strText, abmessungen_start, laenge_start_to_end)
' Bereich zerlegen in einzelne Werte
abmessungen_splitten = Split(abmessungen," ")
abmessungen_einzeln = ubound(abmessungen_splitten)
for i=0 to abmessungen_einzeln
abmessungen_x = abmessungen_splitten(1) / 2.834 / 100
abmessungen_y = abmessungen_splitten(2) / 2.834 / 100
abmessungen_breite = abmessungen_splitten(3) / 2.834 / 100
abmessungen_hoehe = abmessungen_splitten(4) / 2.834 / 100
next
' Nachkommastellen bei Abmessungen in mm entfernen (z.B. 210,06 mm = 210 mm)
If InStrRev(abmessungen_breite, ",") > 0 Then abmessungen_breite = Left( _
abmessungen_breite, InStrRev(abmessungen_breite, ",") - 1)
If InStrRev(abmessungen_hoehe, ",") > 0 Then abmessungen_hoehe = Left( _
abmessungen_hoehe, InStrRev(abmessungen_hoehe, ",") - 1)
' Werte in globale Variablen in Outputmanagement Software eintragen
'Watch.setvariable "global.PDFxPosition", abmessungen_x
'Watch.setvariable "global.PDFyPosition", abmessungen_y
'Watch.setvariable "global.PDFbreite", abmessungen_breite
'Watch.setvariable "global.PDFhoehe", abmessungen_hoehe
' Ergebnis ausgeben in Windows Fenster zur Überprüfung (nicht relevant für
' Outputmanagementsystem)
Msgbox(abmessungen)
Msgbox(abmessungen_x)
Msgbox(abmessungen_y)
Msgbox(abmessungen_breite)
Msgbox(abmessungen_hoehe)
Beitrag wurde zuletzt am 18.09.14 um 10:45:31 editiert. |