Como Imprimir hoja excel y guardarla en .PDF

Sres. T.E.

Como imprimir con Excel 2003 y que la hoja sea guardada en .PDF, he ubicado un ejemplo en la Internet el cual me muestra un Error.

Detallo ejemplo descargado:

Sheets("Gráficos").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\Escritorio\Informe.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False

Detallo código el cual he modificado, lo modificado se muestra en Negrita:

Sub GuardoEnPdf()

Dim NameFile As String  ‘Variable Ingresada

Sheets("RecbPago").Select

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"C:\CarpetaReceptora\" & NameFile & ".pdf", Quality:=xlQualityStandard, _

IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _

False

End Sub

El caso que al ejecutarlo muestra el mensaje siguiente:

Se ha producido el Error ‘1004’ en tiempo de ejecución:

Error en el método Select de la clase Worksheet.

En realidad desconozco como arregla el problema, por eso acudo a Uds.

1 Respuesta

Respuesta

Visita mi canal:

https://www.youtube.com/@CursosDeExcelyMacros

-----------------------

El problema es porque la carpeta no existe o porque no estás poniendo un nombre de archivo.

Revisa que exista la carpeta:

"C:\CarpetaReceptora\"

En esta línea de la macro pon el nombre del archivo:

NameFile = "ejemplo"

----

Prueba el siguiente código:

Sub GuardoEnPdf()
  Dim NameFile As String  'Variable Ingresada
  Dim carpeta As String
  '
  carpeta = "C:\CarpetaReceptora\"
  If Dir(carpeta, vbDirectory) = "" Then
    MsgBox "La carpeta no existe"
    Exit Sub
  End If
  NameFile = "ejemplo"
  '
  Sheets("RecbPago").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=carpeta & NameFile & ".pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Otras recomendaciones en mi canal:

Sal u dos Dante Amor

Hola Dante.

Gracias por enviar pronta repuesta.

Pero el problema persiste, hice los cambios que me indicas.

Se muestran en negrita en el código:

Sub GuardoEnPdf()
Dim NameFile As String 'Variable Ingresada
Dim carpeta As String
'
carpeta = "C:\FolderRecp\"
If Dir(carpeta, vbDirectory) = "" Then
MsgBox "La carpeta no existe"
Exit Sub
End If
NameFile = "ListPDF"
'
Sheets("RecbPago").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=carpeta & NameFile & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

Al ejecutarlo muestra un nuevo mensaje:

Se ha producido el error '438' en tiempo de ejecución:

El objeto no admite esta propiedad o método.

Te recuerdo que este código lo estoy ejecutando en Excel 2003

Con respecto a tu canal de Cursos, he visto los Vídeos los cuales son bastantes técnicos e  instructivos.

Todos los que he visto me han ayudado a mejorar la programación,  de los visto pa mi el que mas me ha gustado es el de “DECLARAR variables COPIAR DE UN LIBRO a OTRO en vba excel curso de macros” 

 

Te agradezco que continúes   ayudándome con este Caso.

Saludos

Activa la grabador de macros.

Guarda la hoja como pdf.

Regresa a detener la grabadora de macros.

Ve a VBA, copia el código creado por la grabadora de macros y lo pegas aquí.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas