Hallo,
wir möchten gern mehrer PDF Datein mit einem Mausklick ausdrucken, ohnen diese aufwändig in einem Laufwerk zu suchen, zu öffnen, zu drucken und wieder zu schließen. Hierzu haben wir schon etwas geschrieben, dass auch funktioniert jedoch nicht ganz nach unseren Vorstellung. Wir haben in einer Excel Tabelle eine Auflistung von Dateinnamen die wir gerne drucken möchten und ein Butten der den SUCH und DRUCK befehl ausführt. Jedoch wollen wir das der Ausdruck der PDFs in der gleichen rheinfolge wie die Auflistung statt findet. Dies tut es leider, als einzigstes nicht.
Hier das Makro dazu:
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function CloseHandle Lib "kernel32.dll" ( _
ByVal hObject As Long) As Long
Private Const MAX_PATH = 260&
Private Const SW_HIDE = 0&
Private Sub Print_PDF(pstrPath As String, pstrFile As String)
Dim strShortPath As String
Dim lngReturn As Long, lngHwnd As Long, lngIndex As Long
strShortPath = Space$(MAX_PATH)
Call GetShortPathName(pstrPath & pstrFile, strShortPath, MAX_PATH)
strShortPath = Left$(strShortPath, InStr(1, strShortPath & vbNullChar, vbNullChar) - 1)
lngReturn = ShellExecute(GetActiveWindow, "print", _
strShortPath, vbNullString, pstrPath, SW_HIDE)
End Sub
Public Sub Test()
Dim Pfad As String, File As String
Dim j As Integer, Spalte As Integer
Spalte = ActiveCell.Column
j = 17
Do While IsEmpty(Cells(j, Spalte)) = False 'Schleife lauft bis es auf leere Zelle trifft
File = Cells(j, Spalte) & ".pdf" 'Dateiname anpassen
Pfad = "M:\Promitec\600-Technik\Zeichnungen\" 'Pfad anpassen
Call Print_PDF(Pfad, File)
j = j + 1
Loop
End Sub
Für Hilfe und sogar Lösungen wäre ich sehr dankbar
|