TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

Änderung des Standarddruckers mittels VBA
(1 Leser) (1) Gast
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: Änderung des Standarddruckers mittels VBA

Änderung des Standarddruckers mittels VBA 2 Jahre, 11 Monate her #480

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 502
  • Karma: 4
In diesem Thema wird dieser Beitrag diskutiert: Änderung des Standarddruckers mittels VBA

Hallo,

hier die Lösung für Netpowers Anfrage.
 
 
Public Sub ChangePrinter(sObjName As String, iPrtIndex As Integer, _
Optional lngCopies As Long = 1, Optional lngAusrichtung As Long = 1, _
Optional iTyp = 0)
'---------------------------------------------------------------------------------------
'
Procedure : ChangePrinter
' DateTime : 05.08.2005 15:36
'
Author : TommyK
' Purpose : wechselt den Standarddrucker für den gewählten Bericht
'
Inputs : sObjName = Name des Berichts/Forms, iPrtIndex = Index des gewählten Druckers
' lngCopies = Anzahl der Kopien, lngAusrichtung = 1 = Hochformat, 2 = Querformat
'
iTyp 0 = Bericht, 1 = Formular
' Output :
'
Example : ChangePrinter \"rpt_MeinBericht\", 1
' Würde den Bericht \"rpt_MeinBericht\" auf dem 2. Drucker des Systems
'
mit 1 Kopie und im Hochformat ausgeben
'---------------------------------------------------------------------------------------
Dim prtDefault As Printer
Dim prtObjPrinter As Printer
Dim prtPrinter As Printer
 
On Error GoTo ChangePrinter_Error
 
Set prtDefault = Application.Printer
Set prtPrinter = Application.Printers(iPrtIndex)
Application.Printer = prtPrinter
If iTyp = 0 Then
DoCmd.OpenReport sObjName, acViewDesign, acHidden
Set prtObjPrinter = Reports(sObjName).Printer
With Reports(sObjName).Printer
.Copies = lngCopies
.Orientation = lngAusrichtung
End With
DoCmd.OpenReport sObjName, acViewNormal
DoCmd.Close acReport, sObjName, acSaveNo
Else
DoCmd.OpenForm sObjName, acDesign, , , , acHidden
Set prtObjPrinter = Forms(sObjName).Printer
With Forms(sObjName).Printer
.Copies = lngCopies
.Orientation = lngAusrichtung
End With
DoCmd.OpenForm sObjName, acNormal
DoCmd.PrintOut acPrintAll, , , acHigh, lngCopies
DoCmd.Close acForm, sObjName, acSaveNo
End If
 
Set prtObjPrinter = Nothing
Application.Printer = prtDefault
 
On Error GoTo 0
Exit Sub
 
ChangePrinter_Error:
Dim strErrString As String
strErrString = \"Error Information...\" & vbCrLf
strErrString = strErrString & \"Error#: \" & Err.Number & vbCrLf
strErrString = strErrString & \"Description: \" & Err.Description
MsgBox strErrString, vbCritical + vbOKOnly, \"Error in procedure ChangePrinter of Modul mod_Printers\"
End Sub

So sollte es auch mit Formularen klappen.
Gruß TommyK
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 1.26 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173444 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval