Common Dialog und Printer

hkp

Grünschnabel
Hallo,

Ich habe ein Problem mit dem Commondialog und Printer

wenn mann z.B. folgendes macht kann man im angezeigten Fenster wie zu erwarten die Drucker auswählen und anschliesen dahin auch drucken.

Code:
Private Sub Command1_Click()
Dialog.ShowPrinter
MsgBox Printer.DeviceName
End Sub

wenn man jedoch die Zeile mit Printer.Orientation = 1 eifügt kann man zwar noch den Drucker wählen aber ausgegeben wird immer auf den selben.

Code:
Private Sub Command1_Click()
Printer.Orientation = 1
Dialog.ShowPrinter
MsgBox Printer.DeviceName
End Sub

gibt es vielleicht eine Möglichkeit wie mandas Problem beheben kann?

hkp
 
Hallo, das macht man normalerweise so:
Code:
On Error GoTo Fehler

  With Dialog
    .CancelError = True
    .ShowPrinter
    Printer.Orientation = .Orientation
  End With
  
  MsgBox Printer.Orientation
  
  Exit Sub
  
Fehler:
  If Err.Number <> 32755 Then
    MsgBox Err.Description, vbCritical, "Fehler"
    Exit Sub
  Else
    Exit Sub
End If
  
End Sub
Wenn Du Querformat vorgeben möchtest:
Code:
On Error GoTo Fehler

  With Dialog
    .CancelError = True
    .Orientation = cdlLandscape
    .ShowPrinter
    Printer.Orientation = .Orientation
  End With
  
  MsgBox Printer.Orientation
  
  Exit Sub
  
Fehler:
  If Err.Number <> 32755 Then
    MsgBox Err.Description, vbCritical, "Fehler"
    Exit Sub
  Else
    Exit Sub
End If
  
End Sub
 
Hallo wincnc,

danke für die Antwort. Leider bringt das bei der Druckerauswahl kein Erfolg.

Wenn Du mit der Ergänzung Dir den ausgewählten Drucker anzeigen lässt wirst Du sehen das sich der Drucker einmal ändern lässt und dannach bleibt dieser als quasi Standarddrucker stehen und lässt sich nicht abwählen.

Code:
 MsgBox Printer.Orientation & " - " & Printer.DeviceName

Hast Du vielleicht eine Erklärung hierfür?

Gruß
hkp
 
Hallole,

setz mal die TrackDefault-Eigenschaft auf True:
Code:
Printer.TrackDefault = True
 
Zurück