enlaces web a menudo reflejan la estructura de directorios del sitio web. Por ejemplo, " http://example.com/images " se refiere a una carpeta llamada "imágenes " en la carpeta raíz del sitio web " example.com " . Para crear automáticamente hiperenlaces mediante el escaneo de una estructura de directorios y el uso de los nombres de las carpetas dentro de los hipervínculos , VBA proporciona el objeto de sistema de archivos. FSO le permite leer los archivos y carpetas y recuperar propiedades, como sus nombres. Con una secuencia de comandos de VBA en una hoja de cálculo Excel , puede crear un conjunto de hipervínculos basados en los nombres de las carpetas en una estructura de directorios . Instrucciones
1
lanzamiento Excel para ver un libro en blanco . Guarde el libro como un libro habilitado para macros para que pueda almacenar y ejecutar scripts VBA en ella. Seleccione " Archivo" y "Guardar como .. ", escriba un nombre de archivo , seleccione " Libro de Excel habilitado para macros (*. Xlsm ) " como tipo de archivo y haga clic en " Guardar".
2
Seleccione " desarrolladores" de la barra principal de la cinta , y luego seleccione " Visual Basic " de la barra de la cinta desarrollador.
3
Crear un script de VBA para escanear todas las carpetas de un directorio, incorporar el nombre de la carpeta en un enlace para insertar el enlace en el libro de Excel . Comience por crear la rutina . Tipo:
Sub FolderLinks ()
4
Declare una variable para almacenar el objeto del sistema de archivos , una variable para almacenar la carpeta de inicio, una variable para almacenar cada subcarpeta , un contador de el número de carpetas que encuentre y una cadena que contiene el enlace que cree. Tipo:
Dim fso Como nuevas carpetas FileSystemObjectDim Como subcarpeta FolderDim Como recuento FolderDim como Integer = enlace 0Dim As String
5
Consigue la primera carpeta para iniciar la exploración . Tipo:
Set carpetas = fso.GetFolder ( " d: \\ users \\ steve \\ documents ")
6
Crear un bucle, y recibe cada subcarpeta dentro de la carpeta . Tipo:
Para cada subcarpeta de folders.Subfolders
7
Monte la cadena de enlace utilizando un ampersand para concatenar subcadenas. Obtener el nombre de la carpeta de la propiedad " Name" de la subcarpeta. Tipo:
enlace
= " " & subfolder.Name & " < /a>"
8 Incremento de la cuenta y establecer la celda en el número de la fila que corresponde a la cuenta de la cadena de enlace. Tipo:
cuenta = cuenta + 1Cells (recuento , 1 ) = enlace
9
cerrar el ciclo y al final de la subrutina. Tipo:
Siguiente subfolderEnd Sub
10
Seleccione " Archivo" y " Guardar". Elija " Run" y " Ejecutar Sub /User Form " para ejecutar el script de VBA. Cambie de nuevo al libro para ver los resultados .