Macro excel - Problema Imprimir PDF vs papel

Hola a todos,

Tengo un problema con unas macros para hojas excel.

Tengo 2 macros: Una para imprimir la hoja en pdf, y otra en papel.

Os explico las situaciones:

Si cuando yo abro el archivo, ejecuto la macro "Imprimir en papel" (ejecuta una impresión rápida en la impresora predeterminada), se ejecuta bien. Si después ejecuto la macro "Imprimir en PDF", también se ejecuta. Pero si después quiero volver a ejecutar la macro "Imprimir en papel", no se ejecuta, imprimiendo el documento en PDF.

Creo que esto se hace porque la haber ejecutado la macro imprimir en PDF, esta marca la impresora CUTE PDF como predeterminada, y por tanto, cuando después de esto yo quiero imprimir en papel, se imprime en PDF.

¿Cómo soluciono esto?

Muchísimas gracias.

1 Respuesta

Respuesta
1

Puedes pegar el código de las 2 macros, para revisar y decirte qué línea se tiene que modificar.

O si lo prefieres, me puedes enviar tu archivo de excel con todo y macros a mi correo:

[email protected]

Saludos. Dam

Por supuesto, lo que necesites, y gracias.

El de la macro "imprimir en PDF" es:

Application.ScreenUpdating = False
ExecuteExcel4Macro _
"PRINT(1,,,1,,,,,,,,2,""CutePDF Writer en CPW2:"",,TRUE,,FALSE)"
Application.ScreenUpdating = True

El de "imprimir en papel" es:

Application.ScreenUpdating = False
Application.DisplayAlerts = False
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Application.ScreenUpdating = True

Application.DisplayAlerts = True

Espero tu aclaración y muchas gracias experto.

Hola experto,

¿Puedes ayudarme con la cuestión?

Me está volviendo loco...

Muchísimas gracias y perdón por molestar...

Antes de mandar a impresora, intenta fijar la impresora que tienes como predeterminada y después que imrpima:

Application.ActivePrinter = "impresora predeterminada:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"impresora predeterminada:", Collate:=True

Me avisas

Hola,

Una cosilla que no me queda claro.

Lo que me propones es indicar manualmente cuál es la impresora predeterminada, ¿no?. De ser así, no me serviría la propuesta, ya que pretendo utilizarla en ordenadores distintos.

¿Hay alguna forma de que la macro detecte automáticamente cuál es la impresora predeterminada?

Muchas gracias por tu tiempo.

Lo que estoy intentando es limpiar la impresora que tienes en ese momento. Prueba con un ordenador para ver cómo nos va.

Hola,

Me da error en la primera línea:

Application.ActivePrinter = "impresora predeterminada:"

¿Qué puede pasar?

Tienes que cambiar impresora predeterminada por el nombre de tu impresora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas