• 👏 Bienvenido a nuestra comunidad Excel

    ¿Todavía no estás registrado? 😲

    Registrate gratis aquí y podrás:

    💪 Hacer preguntas a los expertos
    ⬇️ Descargar ejemplos y plantillas
    🏅 
    Acceder a contenidos premium

Problemas con la creacion de pdf

Borjaveiga

New member
He leido bastante sobre esta sencilla macro. ya le he dado mil vueltas y aunque no me arroja ningún error cuando la ejecuto, tampoco hace nada os la dejo por si alguno veis un gazapo y me podeis ayudar, pues ya nos se que mas hacer para corregirla y que me funcione.



Sub Imprimir()

On Error Resume Next
Dim carpeta, archivo As String

carpeta = "C:\Users\borja.DESKTOP-9UH84QU"
archivo = Range("G9").Text
MkDir (carpeta)

ActiveSheets.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=carpeta & archivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True


End Sub


Gr :oops: gracias de antemano!
 

eavjperu

Active member
Hola

Es una mala costumbre usar "On Error Resume Next" cuando no es estrictamente necesario y justamente por su uso es que no te arroja ningún error. Borra esa línea y verás en dónde está el problema aunque lo más probable es que esté en esta línea:
Código:
carpeta = "C:\Users\borja.DESKTOP-9UH84QU\"
¿Notas lo que he agregado? Prueba y comentas

Abraham Valencia
 

Borjaveiga

New member
Hola Abraham

Gracias por el tip, si efectivamente al suprimir la linea que me comentas me aparece el error.

El problema es que no veo donde puede estar luego el fallo.

La línea que defino como carpeta es exactamente la ruta que me aparece como la de mi escritorio.

y cuando depuro me marca en amarillo esta parte:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=carpeta & archivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True

Aunque no consigo ver ningun error.

Soy bastante nuevo en VBA y agradezco mucho la paciencia y ayuda, tanto a ti como al resto de gente que participa.

Saludos
 

Oscar181167

New member
Fijate que eavjperu había agregado una barra invertida al final de la ruta,..., ese es el fallo, que en tu código no la agregas. Por eso siempre es bueno añadir el siguiente código justo después de definir carpeta:


If Right(carpeta,1)<>"\" then carpeta=carpeta & "\")
 

Borjaveiga

New member
Me sigue dando el mismo error
aun añadiendo la barra invertida y la linea que me apuntas no me funciona

La ruta la he copiado y pegado tal cual me sale en las propiedades de la carpeta en el explorador de archivos

Ahora ha quedado así:
Sub Imprimir()

Dim carpeta, archivo As String

carpeta = "C:\Users\borja.DESKTOP-9UH84QU\Documents\"
If Right(carpeta, 1) <> "\" Then carpeta = carpeta & "\"
archivo = Range("G9").Value


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=carpeta & archivo & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True


End Sub

Gracias por la colaboracion
 

Oscar181167

New member
Pues supongo que te da error porque el nombre del archivo (Range("g9"); FACTURA Nº:1) tiene caracteres no válidos como "º" o ":"
 

Borjaveiga

New member
Funciona Perfecto!!

Muchas gracias, acabo de aprender que no admite ese tipo de caracteres, es lo que tiene el ir aprendiendo de manera autodidacta, sin la información que me aportáis imposible!!

De nuevo se agradece
 

jmgonm02

New member
consulta amigos, descargue el archivo de borja, solo para constatar un error que tambien me sucede en mi archivo excel, y es que cuando trato de guardar el archivo dos veces me da error, osea lo guardo la primera vez por ejemplo la factura 1 pero si quier volver a guardar esa factura me da error de automatizacion y me salta la ventana de finalizar /depurar, pero si cambio el numero de factura a 2 lo guarda pero si quiero guardar otra vez el uno o el 2 ya no deja, como puedo resolver, por que le he agregado un contador, pero me gustaria que tal vez me preguntara si deseo sobreescribir.
 
Arriba