01.08.2017, 22:41
Hallo mtemp,
Die Variable ZintPfad musst Du auf den Pfad zur zint.exe (Das Kommandozeilentool) setzen. Die Variable EPSPfad ist der Ausgabepfad. Die Do-Schleife bricht ab, wenn sie auf eine leere Zelle trifft, spätestens aber ab Zeile 1000. Die Werte werden aus der ersten Spalte gelesen. Wenn eine andere Spalte ausgelesen werden soll, muss die Zahl bei a = Cells(Z, 1).Value von 1 auf die Zahl der auzulesenden Spalte geändert werden.
Wenn Du den Code noch anpassen musst, melde Dich falls dabei Schwierigkeiten auftreten.
Gruß
Koter
Code:
Sub QREps1()
ZintPfad = ActiveWorkbook.Path & "\"
EPSPfad = "C:\temp\corelforum\QREPS\"
ECCLevel = 2 '1 = Level L, 2 = Level M, 3 = Level Q, 4 = Level H
Skalierung = "4.5"
Z = 1
Start = Now
Do
a = Cells(Z, 1).Value
If a = "" Then
Exit Do
Else
Befehl = ZintPfad & "zint -o " & Chr(34) & EPSPfad _
& "temp" & Z & ".eps" & Chr(34) & " --binary -b 58 --secure=" & ECCLevel _
& " --scale=" & Skalierung _
& " -d " & Chr(34) & a & Chr(34)
Call warte(Befehl)
Debug.Print a
End If
Z = Z + 1
If Z > 1000 Then Exit Do
Loop
Ende = Now
Debug.Print Format(Ende - Start, "hh:mm:ss")
End Sub
Sub warte(ByVal strPath As String)
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run strPath, 7, 1
Set WshShell = Nothing
End Sub
Die Variable ZintPfad musst Du auf den Pfad zur zint.exe (Das Kommandozeilentool) setzen. Die Variable EPSPfad ist der Ausgabepfad. Die Do-Schleife bricht ab, wenn sie auf eine leere Zelle trifft, spätestens aber ab Zeile 1000. Die Werte werden aus der ersten Spalte gelesen. Wenn eine andere Spalte ausgelesen werden soll, muss die Zahl bei a = Cells(Z, 1).Value von 1 auf die Zahl der auzulesenden Spalte geändert werden.
Wenn Du den Code noch anpassen musst, melde Dich falls dabei Schwierigkeiten auftreten.
Gruß
Koter