Una macro manda error al momento de guardar en .PDF

Quisiera saber como resolver un problema al correr la macro, ya que al momento de ejecutar Acrobat para convertir el archivo a PDF manda un error de guardado y se detiene la ejecución.

Esta es la Macro:

Sub PDFs()
'
' PDFs Macro
'
' Acceso directo: Ctrl+Mayús+Q
'
Range("F1").Select
While ActiveCell.Value <> "71"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\portatil\Desktop\KPI Octubre 2017\" & "Indicadores Octubre 2017 " & Range("C13") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Range("F1").Select
ActiveCell.FormulaR1C1 = Range("F1") + 1
Wend
End Sub 

2 respuestas

Respuesta
1

Si 'Indicadores...' es una carpeta le falta la barra para separarla del 'Range...'

Si la celda incluye algún carácter no permitido en nombres de Pdf te dará error (barras o algún otro no permitido)

Verifica la ruta.

Que la celda no contenga la extensión .pdf sino tendrás que quitarla de la instrucción porque aparecerá repetida.

La ruta esta correcta, lo que hace es que guarda un par de archivos, y después me nada el error de que no se ha guardado el siguiente, entonces me nada el error en esta parte:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\portatil\Desktop\KPI Octubre 2017\" & "Indicadores Octubre 2017 " & Range("C13") & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False

Finalizo la ejecución, vuelvo a activar la macro y de nuevo hace esos pasos, tengo que hacerlo unas 10 veces en el proceso, ya que son 70 los archivos que se generan.

otro punto importante que omití es que es en otra PC donde no corre, ya que en mi equipo corre de manera normal

Si corre en una PC y en otra no puede deberse a que tiene menor velocidad de proceso y al completar cierta cantidad de PDF quizás no completa todos los pasos, por ejemplo actualizar la numeración o el contenido de celda C13.

La macro no tiene ningún control de error por lo que tampoco sabemos cuál es el problema, quizás se intenta crear un PDf con un nombre ya en uso.

Te sugiero colocar ese control antes de la exportación dejando la macro de este modo donde se te indicará el nro de error.

Sub PDFs()
'
' PDFs Macro
'
' Acceso directo: Ctrl+Mayús+Q
'
Range("F1").Select
While ActiveCell.Value <> "71"
    On Error Resume Next
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Users\portatil\Desktop\KPI Octubre 2017\" & "Indicadores Octubre 2017 " & Range("C13") & ".pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    If Err.Number > 0 Then
        MsgBox "Error " & Err.Number & ". No se exportó el nro " & [F1].Value & ". El proceso continúa con el siguiente"
    End If
    On Error goto 0
    Range("F1").Select
    ActiveCell.FormulaR1C1 = Range("F1") + 1
Wend
End Sub

Si fuese un problema de 'demora' se puede colocar un pequeño bucle para darle algo de tiempo a completar la publicación antes de pasar a la siguiente.

Por ejemplo:

Sub PDFs()
'
' PDFs Macro
'
' Acceso directo: Ctrl+Mayús+Q
'
Range("F1").Select
While ActiveCell.Value <> "71"
    On Error Resume Next
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Users\portatil\Desktop\KPI Octubre 2017\" & "Indicadores Octubre 2017 " & Range("C13") & ".pdf" _
    , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
    :=False, OpenAfterPublish:=False
    If Err.Number > 0 Then
        'MsgBox "Error " & Err.Number & ". No se exportó el nro " & [F1].Value & ". El proceso continúa con el siguiente"
    End If
    On Error GoTo 0
    Range("F1").Select
    ActiveCell= Range("F1") + 1
    'cada 10 exportaciones realiza espera unos segundos para continuar
    If Right([F1], 1) = 0 Then
        For x = 1 To 10000
            x = x + 1
        Next x
    End If
Wend
End Sub

Probalo y comentame.

Sdos.

Elsa

Respuesta
-1

No mencionas que error te da ni en que línea. Suponiendo que es exactamente en la línea que intenta exportar a PDF, los errores pueden ocurrir por lo siguiente:

1- Tienes Excel 2003 o inferior (que no creo que sea el caso)

2- La ruta no existe y/o tienes errores al ingresarla. ¿"Indicadores Octubre 2017" es una carpeta? ¿Qué tienes exactamente en "C13")

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas