Generar PDF desde Excel y renombrar desde celda, solo permite 22 caracteres

Gracias a los aportes de esta y otras paginas he elaborado un macro para renombrar el PDF generado de acuerdo a la celda D8 (donde aparece el nombre del cliente) y le adiciona la fecha, sin embargo esto solo permite 22 campos, ahí el nombre generado se corta, ¿hay alguna forma de hace ilimitada la opción de generar el nombre?

Gracias
On Error GoTo aviso
Dim xcel As String
Dim zfilename As String
Dim outName As String, i As Long
If InStr(1, ActiveWorkbook.Name, ".", vbTextCompare) > 1 Then
outName = Mid(Range("D8") + Format(Now, " dd-mm-yyyy"), 1, InStr(1, ActiveWorkbook.Name, ".", vbTextCompare) - 1)
Else
outName = ActiveWorkbook.Name
End If
zfilename = ThisWorkbook.Path & "\" & outName
ActiveSheet. ExportAsFixedFormat xlTypePDF, zfilename

1 respuesta

Respuesta
1

Lo que estás haciendo con esta instrucción:

outName = Mid(Range("D8") + Format(Now, " dd-mm-yyyy"), 1, InStr(1, ActiveWorkbook.Name, ".", vbTextCompare) - 1) 

Primero concatenas el nombre del cliente y la fecha y luego cortas ese nombre hasta la longitud que tienes en según el nombre del libro. Si la longitud del nombre del libro es 22 por eso solamente te considera 22 caracteres.

Lo que necesitas es algo como esto:

If InStr(1, ActiveWorkbook.Name, ".", vbTextCompare) > 1 Then
    nombre = Mid(ActiveWorkbook.Name, 1, InStr(1, ActiveWorkbook.Name, ".", vbTextCompare) - 1)
    outName = Range("D8") & Format(Now, " dd-mm-yyyy ") & nombre
Else
    outName = ActiveWorkbook.Name
End If

Primer determinas el nombre del archivo y lo pones en la variable nombre, es decir, lo único estoy haciendo es quitar el punto y la extensión del nombre del archivo.

Después estoy concatenando el nombre del cliente, la fecha y el nombre del archivo.

Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas