Cuadro impresión

Buenas tardes jpastor5 como estas.
Te agradecería me pudiera ayudar con lo siguiente el problema que tengo es que cree esta macro para imprimir un rango de celdas que el usuaria escoja. Pero cuando sale el cuadro de dialogo donde están todas las impresoras ( Application.DialogsxlDialogPrinterSetup). Show  )  para seleccionar pero cuando selecciono la impresora. No importa si le doy click a aceptar o cancelar total siempre imprime que puedo hacer para solucionar esto que cuando de cancelar se cancele la impresión o cuando salga del cuadro tampoco imprima
disculpa la molestia pero es que estoy realmente perocupado por esto gracias.
Sub Print_Area_consultas()
    Dim My_Range As String
    ActiveSheet.Unprotect "madaserltda"
    On Error GoTo errando
    My_Range = InputBox("Digite el rango del area a imprimir EJEMPLO: A1:J20:")
    If StrPtr(My_Range) = 0 Then Exit Sub
    Range(My_Range).Select
    Application.Dialogs(xlDialogPrinterSetup).Show
    Range(My_Range).PrintOut
    ActiveSheet.Protect "madaserltda"
 Exit Sub
errando: MsgBox ("INGRESO UN REGITRO NO VALIDO")
    ActiveSheet.Protect "madaserltda"
End Sub
Respuesta
1
El detalle es que haces uso del método PrintOut esa sentencia hace que si o si te imprima, mejor dicho con esa sentencia ya estas mandando a la impresión.
Revísalo y chquea que otro evento o emtodo podrías colocar.
Genial me ha servido de maravilla pero
Aun tiene unos errores
¿Qué otra sentencia me aconsejas?
Prodia ser prinpreview paa ver la vista previa de impresion antes de ser impreso.

1 respuesta más de otro experto

Respuesta
1
No estoy muy seguro, pero es posible que sea suficiente con que añadas esto:
If StrPtr(My_Range) = vbCancel Then Exit Sub
Prueba a ver.
MIra esa linea me sirve para arreglar el problema en el inputbox ... pero no en el cuadro de dialogo donde salen las impresoras donde doy cancelar y es igual a aceptar
¡Aahh! Ahora lo entendí.
Lo siento, pero no tengo ni idea de que instrucciones pueden establecerse para modificar los botones de ese cuadro de dialogo.
Aunque a lo mejor te sirve, el reestructurar un poco el código y hacer que el cuadro de dialogo de las impresoras se te abra antes que el input para luego intercalar un msgbox o inputbox al que puedas dar instrucciones de imprimir o no.
Mis disculpas por no haber podido hacer más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas