Macro para imprimir pdf desde Excel

Trato de crear un macro con excel que me permita generar desde Excel un archivo con extensión pdf, a una carpeta prestablecida (hasta aquí no hay problema) pero con un archivo que viene dado desde una celda (hete aquí el problema). El nombre que sale por defecto en la caja para generar el pdf, coincide con el nombre del archivo de excel pero no del que yo pretendo asignarle desde una celda.
Adjunto el código para ver si me puedes decir donde meto la pata. De hecho, se me guarda un archivo pdf con el nombre dado; el problema es que al intentar abrirlo con el Adobe me dice que es una archivo dañado o que no es un archivo admitido.
Sub IMPRESIÓ_PDF()
Dim nbre As String
nbre = cstr(Range("B5"). Value)
Application.ActivePrinter = "Adobe PDF en Ne05:"
ActiveWorkbook.PrintOut copies:=1, ActivePrinter:="Adobe PDF en Ne05:", _
collate:=True, PrToFileName:="C:\Documents and Settings\TONI\Escritorio\" & nbre & ".pdf"
End Sub

2 Respuestas

Respuesta
1
No sé si existen lo directorios en tu disco c: correspondientes al archivo donde quieres grabar, pero lo que seguro no existe es "c:\C:\...." Tienes duplicada la unidad.
Por otro lado el nombre del archivo lo coges de B5. Asegúrate que la hoja activa es la que contiene el B5 que quieres.
Muchas gracias por tu interés Prozac, pero la cosa sigue sin funcionar,...
He mirado el código y lo que veo (si entiendo bien) es que intentas imprimir a una impresora PDF y además seleccionas la opción de imprimir a archivo. Esto te dará error ya que la impresora PDF (una impresora virtual) ya imprime por si misma a un archivo y te pide el nombre del mismo, mientras que tu estás dándole otro.
Creo que ese es el problema. Si intentas hace lo mismo desde Excel, sin macros, te dará ese error. Para probarlo ponte en una hoja cualquiera, selecciona imprimir desde el menú y la impresora PDF y marca la casilla imprimir a archivo. Verás que sale el error.
Prozac:
He intentado imprimir desde un archivo nuevo sin macros, y me permite imprimir el pdf sin ningún tipo de error. No sé si te referías a eso...
Intento explicarme mejor. Aunque en tu pc tengas una impresora física a la hora de imprimir siempre puedes dirigir la impresión a un archivo. Si además eliges una impresora virtual como la PDF, que "per se" imprime a un archivo, tendrás dos archivos por decirlo de alguna manera. Al que diriges la impresión desde el sistema (al seleccionar la casilla imprimir a archivo) y al que intenta imprimir la impresora virtual PDF. Esto provoca un error, porque no está establecida de manera clara la salida. El sistema no sabe a cual de los dos imprimir.
Respuesta
Pues no veo la utilización de cstr, podría ser lo que esta molestando. ¿Adicional imagino que obtuviste el código grabando una macro verdad?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas