Tecnología

Inicio

Cómo crear hipervínculos Sobre la base de los nombres de carpeta con VBA

Cómo crear hipervínculos Sobre la base de los nombres de carpeta con VBA


Los enlaces web a menudo reflejan la estructura de directorios de la página web. Por ejemplo, "http://example.com/images" se refiere a una carpeta llamada" imágenes "en la carpeta raíz de la" página web example.com "Para crear automáticamente hiperenlaces mediante el escaneo de una estructura de directorios y el uso de los nombres de los. carpetas dentro de los hipervínculos, VBA proporciona el objeto de sistema de archivos. FSO le permite leer las carpetas y los archivos y recuperar propiedades, como sus nombres. Con un guión de VBA en una hoja de cálculo de Excel, puede crear un conjunto de hipervínculos en base a los nombres de las carpetas en una estructura de directorios.

Instrucciones

1 Lanzar Excel para ver un libro en blanco. Guarde el libro como un libro con 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 el tipo de archivo y haga clic en "Guardar".

2 Seleccione "desarrollador" de la barra principal de la cinta y, a continuación, seleccione "Visual Basic" de la barra de la cinta desarrollador.

3 Crear una secuencia de comandos de VBA para escanear todas las carpetas en un directorio, incorporar el nombre de la carpeta en un enlace e inserte el enlace en el libro de Excel. Comience por crear la subrutina. Tipo:

FolderLinks sub ()

4 Declarar 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 del número de carpetas a encontrar y una cadena que contiene el enlace que cree. Tipo:

FSO Dim como nuevo FileSystemObject
carpetas dévil como Carpeta
subcarpeta tenue Como Carpeta
recuento tenue como Integer = 0
Dim como secuencia de enlace

5 Obtener la primera carpeta para comenzar la exploración. Tipo:

Configuración de carpetas = fso.GetFolder ( "D: \ Users \ Steve \ Documents")

6 Crear un bucle, y obtener cada subcarpeta dentro de la carpeta. Tipo:

Para cada subcarpeta de folders.Subfolders

7 Montar la cadena de enlace utilizando un símbolo de unión para concatenar subseries. Recibe el nombre de la carpeta de la propiedad "Nombre" de la subcarpeta. Tipo:

link = "<a href='http://example.com/collection/&quot; y subfolder.Name y "/index.html'>" y subfolder.Name y "</a>"

8 Incrementar el recuento y establecer la celda en el número de fila que corresponde a la cuenta a la cadena de enlace. Tipo:

count = count + 1
Las células (cuentan, 1) = enlace

9 Cerrar el bucle y finalizar la subrutina. Tipo:

Siguiente subcarpeta
End Sub

10 Seleccione "Archivo" y "Guardar". Seleccione la opción "Ejecutar" y "Ejecutar Sub / User Form" para ejecutar el script de VBA. Cambie de nuevo al libro para ver los resultados.