.
Anteriormente se mostró una macro que busca archivos en un directorio y determinaba su ruta o path, luego otra macro que busca archivos en un directorio y obtiene su dirección, ruta o path; en esta oportunidad muestro una conjunción de ambas macros, es decir una macro que busca un archivo en un directorio, determina su ruta o path lo escribe en una celda y hace un link al archivo.
Antes de continuar con el presente ejemplo, 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.
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);
}
}
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Lee también:
Como enviar desde Excel mail con hiperlink en el cuerpo del mensaje
Como crear un link o hiperlink a google maps
Como buscar un dato en Excel y crear link o hipervinculo al registro
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Desde el botón EJECUTAR, la macro busca los número o códigos que se encuentran en la columna A del libro Excel de ejemplo, lo busca en la carpeta que se proporciona como ejemplo en el archio comprimido que se descarga, los archivos comienzan su nombre con el número del código que está en la columna A, se busca archivo por archivo, una vez encontrado en la columna F la macro escribirá la ruta o path y en la columna A en la misma celda donde está el código o número se creará un link al archivo, haciendo click en el link se podrá abrir el archivo de Excel relacionado.
La macro recorrerá todas las filas de la columna A y buscará en la carpeta que se descargó a forma de ejemplo si el archivo se encuentra allí en el caso positivo crea en la misma columna A un link a dicho archivo o fichero, pudiendo hacer click en el link y automáticamente abrirá el fichero de Excel.
nomfic = Val(Left(b, esp))
ruta = path1 & «» & b
Por último para finalizar la macro aparece un cartel msgbox avisando la cantidad de ficheros encontrados.
Código que se inserta en un módulo
Sub hiperlinkficheroYURL()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim path1 As String, ruta As String, texhipv As String
Set a = Sheets(ActiveSheet.Name)
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
path1 = ActiveWorkbook.Path & «322 PruebaHyper»
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set carpeta = fso.getfolder(path1)
Set ficheros = carpeta.Files
NunFich = 0
For Each ficheros In ficheros
b = ficheros.Name
esp = InStr(b, » «)
nomfic = Val(Left(b, esp))
busco = nomfic
Set codigo = a.Range(«A5:A» & uf).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
ruta = path1 & «» & b
a.Range(«F» & codigo.Row) = ruta
texhipv = a.Range(«A» & codigo.Row)
dire = codigo.Row
a.Hyperlinks.Add Anchor:=a.Range(«A» & dire), Address:=ruta, TextToDisplay:=texhipv
NunFich = NunFich + 1
End If
Next ficheros
Set carpeta = Nothing
Set ficheros = Nothing
MsgBox («Se encontraron » & NunFich & » ficheros en la carpteta seleccionada»), vbInformation, «AVISO»
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sub hiperlinkficheroYURL()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim path1 As String, ruta As String, texhipv As String
Set a = Sheets(ActiveSheet.Name)
uf = a.Range(«A» & Rows.Count).End(xlUp).Row
path1 = ActiveWorkbook.Path & «322 PruebaHyper»
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set carpeta = fso.getfolder(path1)
Set ficheros = carpeta.Files
NunFich = 0
For Each ficheros In ficheros
b = ficheros.Name
esp = InStr(b, » «)
nomfic = Val(Left(b, esp))
busco = nomfic
Set codigo = a.Range(«A5:A» & uf).Find(busco, LookIn:=xlValues, LookAt:=xlWhole)
If Not codigo Is Nothing Then
ruta = path1 & «» & b
a.Range(«F» & codigo.Row) = ruta
texhipv = a.Range(«A» & codigo.Row)
dire = codigo.Row
a.Hyperlinks.Add Anchor:=a.Range(«A» & dire), Address:=ruta, TextToDisplay:=texhipv
NunFich = NunFich + 1
End If
Next ficheros
Set carpeta = Nothing
Set ficheros = Nothing
MsgBox («Se encontraron » & NunFich & » ficheros en la carpteta seleccionada»), vbInformation, «AVISO»
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.
.
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