.
Seguidamente se mostrará como truncar o acortar el nombre de un archivo a una cantidad de caracteres determinada, seguramente cuando se trabaja con archivo y se guarda el fichero, el nombre es determinado por variables, muchas veces la cantidad de caracteres de las variables es excesiva y el nombre del archivo queda muy largo en forma innecesaria, en esos casos es posible que se quisiera estandarizar la longitud de los nombres de los archivos, para ello es útil la macro que se presenta en este post, ya que se trucará o acortará el nombre del fichero a una cantidad de caracteres definidas por el usuario.
Es posible que sea útil alguno de los siguientes posts que tratan sobre macros que permiten trabajar con archivos.
Macro que crea y borra archivos
Macro que abre explorador de archivos de Windows
Macro que crea un listado de archivos y subcarpetas de un directorio
Macro para buscar archivo en un directorio si no existe abre explorador de archivos
Macro que determina el nombre de un archivo
Macro para enviar mail mediante outlook adjuntando archivo en pdf que previamente creo
Macro de Excel que comprime archivos con extensión Zip
Macro para copiar carpetas y archivos
Macro conecta Excel con Word crea archivo de Word e inserta datos
Macro que autoelimina archivo previo autocopia el fichero
Macro copia hoja actual y guarda como con explorador de archivos
Macro hace copia de la hoja activa y la guarda como
Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.
Posteriormente se obtiene el nombre del archivo, que puede ser mayor a 60 caracteres que es lo que en el ejemplo se determina como máximo de caracteres para el nombre del fichero que se intenta guardar, para determinarlo se establece la cantidad de caracteres del nombre que se intenta dar en caso de ser mayor a 60 se extraen los primeros 60 caracteres truncando o acortando el nombre del archivo a la cantidad de 60 caracteres, eso se hace con el siguiente código:
If Len(nom) > 60 Then nom = Mid(nom, 1, 60)
Posterior a ello, ya teniendo el nombre del archivo con un máximo de caracteres de 60, se procede a guardar el archivo:
ActiveWorkbook.SaveAs Filename:=myfile, FileFormat:=xlOpenXMLWorkbook
Desde el final de post descarga el ejemplo como truncar o acortar el nombre del archivo a una cantidad de caracteres determinados, es código es libre y el archivo no contiene restricción alguna.
Recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como por ejemplo Formulario que solicita password, buscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, como copiar o exportar tabls de Excel a Word y muchos ejemplos más.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Código que se inserta en un módulo
Sub GuardarArchivoFecha()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
nom = Cells(2, «C») & Cells(1, «A»)
nom = Replace(nom, «/», «»)
nom = Replace(nom, «:», «»)
nom = Replace(nom, «.», vbNullString)
If Len(nom) > 60 Then nom = Mid(nom, 1, 60)
myfile = ActiveWorkbook.Path & «» & nom
Sheets(«Hoja1»).Copy
ActiveWorkbook.SaveAs Filename:=myfile, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close False
MsgBox («El archivo se guardo en » & myfile & » con el nombre » & nom), vbInformation, «AVISO»
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
nom = Cells(2, «C») & Cells(1, «A»)
nom = Replace(nom, «/», «»)
nom = Replace(nom, «:», «»)
nom = Replace(nom, «.», vbNullString)
If Len(nom) > 60 Then nom = Mid(nom, 1, 60)
myfile = ActiveWorkbook.Path & «» & nom
Sheets(«Hoja1»).Copy
ActiveWorkbook.SaveAs Filename:=myfile, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close False
MsgBox («El archivo se guardo en » & myfile & » con el nombre » & nom), vbInformation, «AVISO»
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends