![]() |
Tipp 0498
|
Datei per verknüpfter Anwendung drucken
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 06.06.2006 |
|
Entwicklungsumgebung: |
|
VB 6 |
|
|
Um den in Visual Basic fehlenden Druck-Befehl für verknüpfte
Anwendungen realisieren zu können, müssen wir auf die API-Funktion ShellExecute
zurückgreifen. Mit ihr lassen sich nicht nur Programme ausführen,
sondern auch Dokumente mit der Anwendung ausdrucken, die sie angelegt
hat. Vorraussetzung dafür ist natürlich, dass die entsprechenden Programme
überhaupt drucken, und sie vorschriftsmäßig in der
Windows-Registrierung eingetragen sind.
|
Bevor nun eine Dateie mit der verknüpften Anwendung ausgedruckt
werden kann, muss die API-Funktion entsprechend deklariert werden. Der
zweite Parameter ("Print") gibt die auszuführende Operation
an, und damit unsere Anwendung auch weiterhin aktiv bleibt, und nicht die aufgerufene Anwendung automatisch in den Vordergrund geholt wird,
wird im letzten Parameter die Konstante SW_SHOWMINNOACTIVE
verwendet.
|
Dem Parameter lpFile (hier: Datei) muss die Datei inkl. des kompletten Pfads übergeben werden,
welcher direkt beim Aufruf der Prozedur PrintFile zusammengesetzt wird. Alle weiteren Parameter
sind für die Druckaktion ohne Belang, so dass ihnen ein vbNullString
übergeben werden kann.
|
|
|
Der hier abgebildete Code bezieht sich nur auf die eigentliche Druckaktion.
Das Download-Projekt baut auf den Tipp
Datei-Verknüpfungen ermitteln auf, so
dass auch nur die Dateien gedruckt werden können, die mit einer
Anwendung verknüpft sind.
|
|
|
Option Explicit
Private 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
Private Const SW_SHOWMINNOACTIVE = 7
Sub PrintFile(Datei As String)
Dim RetVal As Long
RetVal = ShellExecute(Me.hwnd, "Print", Datei, vbNullString, _
vbNullString, SW_SHOWMINNOACTIVE)
If RetVal > 32 Then
MsgBox "Datei " & Datei & " wurde erfolgreich gedruckt."
Else
MsgBox "Beim Drucken der Datei " & Datei & " ist ein Fehler"_
& " aufgetreten!", vbExclamation + vbOKOnly, "Fehler"
End If
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98 |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (3,1
kB)
|
Downloads bisher: [ 488 ]
|
|
|