Druckmakro
26.08.2016 08:12:30
Sebastian
vllt kann mir jemand bei meinem Problem helfen...
Ich habe in einer Exceltabelle einen Button integirert, mit dem ich mehrere Blätter ausdrucke. Hierzu steuere ich über eine Funktion das Druckerauswahlfenster an, um den Drucker zu wählen.
Und hier tritt mein Problem auf:
Wenn ich in der Druckerauswahl auf Abbruch klicke (ich kenne ja meine Leute, die dieses Makro benutzen) werden die Seiten trotzdem gedruckt... wie kann ich hier die Abbruch-Auswahl abfragen, um über eine If-Schleife den Druck abzubrechen?
Vllt hat ja jemand eine Idee... Vielen Dank im Voraus!
Code:
Declare PtrSafe
Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, _
_
ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal _
nSize As LongPtr) As Long
Sub Sichtbare_Karten_Drucken()
Dim i
Dim msg
msg = MsgBox("Alle Karten drucken?", vbYesNo)
If msg = vbYes Then
For i = 1 To 10
If Worksheets("Karte" & i).Visible = True Then
Worksheets("Karte" & i).PrintOut ActivePrinter:=GetDefaultPrinter
End If
Next i
End If
End Sub
Function GetDefaultPrinter() As String
Dim TempName As String
Dim DeviceNr As Long
TempName = String(1024, 0)
DeviceNr = GetProfileString("windows", "device", 0&, TempName, 1024)
GetDefaultPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
End Function