Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Drucken einer datei (pdf) aber mit Öffnen des Druckertreibers

Begonnen von wuffwuff2003, Juli 08, 2013, 14:15:24

⏪ vorheriges - nächstes ⏩

wuffwuff2003

Hallo zusammen
Ich benutze ein Modul sowie den VBA Code um ein Dokument durch Druck einer Schaltfläche zu drucken:
Dim Pfad As String
        Pfad = "P:\data\bureau dlt1\CFL CRM T1\SNCF\RT- Liste- Affichage\RT\RT1703.pdf"
    DateiOeffnen "print", Pfad, SW_HIDE
End Sub

Mit diesem Befehl öffnet sich der Adobe Reader und druckt das Dokument mit dem in Windows eingestellten Druckertreiber. Ich möchte aber wählen können welchen Drucker ich benutze, demnach müsste der Druck nicht sofort stattfinden, sondern AdobeReader müsste mir die Druckoptionen anzeigen damit ich mir den Drucker auswählen kann, und ich noch einstellen kann, welchen Drucker ich nehme.

Was könnte man da ändern im Modul oder VBA, oder soll ich einen ganz anderen Code benutzen? Und eine zweite Frage noch nebenbei, kann man nicht wenn die Datei z.B. RT1703V1.pdf heisst, den Code so schreiben wie damals in DOS: RT1703*.pdf dann ist alles was hinter RT1703 kommt egal, also die eigentliche Versionsnummer?. Danke

Modulcode:

Option Compare Database
Option Explicit

Public Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hWnd As Long, _
                     ByVal lpOperation As String, _
                     ByVal lpFile As String, _
                     ByVal lpParameters As String, _
                     ByVal lpDirectory As String, _
                     ByVal nshowcmd As Long) As Long
   
Public hWnd As Long
Public Const SW_HIDE = 0          ' Versteckt öffnen
Public Const SW_MAXIMIZE = 3      ' Maximiert öffnen
Public Const SW_MINIMIZE = 6      ' Minimiert öffnen
Public Const SW_NORMAL = 1
Public Const SW_RESTORE = 9
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWMINIMIZED = 2
Public Const SW_SHOWMINNOACTIVE = 7
Public Const SW_SHOWNOACTIVATE = 4

Public Function DateiOeffnen(Aktion As String, Pfad As String, _
                             Ansicht As Long) As Boolean
    Call ShellExecute(hWnd, Aktion, Pfad, "", "", Ansicht)
End Function

DF6GL

Hallo,


öffne doch nur die Datei mit dem PDF-Reader und bediene den zur Auswahl des Druckers..

DateiOeffnen "open", Pfad, SW_NORMAL



Alternative:  ändere vor dem Ausdruck den Windows-Standard-Drucker ....

wuffwuff2003

Ja das wäre dann der letzte Ausweg den ich auch einschlagen wollte dann. Ich werde es dann auch so machen, Danke