EN: PCACTUAL
SITE: http://www.pc-actual.com
FECHA: 26/05/2008
USUARIO
Tengo una serie de ficheros de Excel con hipervínculos a otros archivos de Word y Excel ubicados en una carpeta de mi disco duro. El problema es que, recientemente, hemos movido todo el contenido de esta carpeta desde la unidad C: hasta una unidad de red (Z) físicamente alojada en un pequeño NAS, donde almacenamos toda la información que tenemos que compartir entre los usuarios
El problema es que todos los hipervínculos de mis hojas de Excel apuntan al disco y a una carpeta determinada, y me gustaría saber cómo podría cambiar todos los hipervínculos sin hacerlo uno a uno. De hecho, la que más me preocupa es una hoja con más de 1.000 enlaces, que podría llevarnos días poner al día.
PCA responde:
Lo que nos comentas es, en efecto, un verdadero problema, aunque se puede resolver con relativa facilidad trabajando con una macro realizada en MS Visual Basic (VBA). De hecho, la propia Microsoft ofrece una solución al problema que comentas en la dirección http://support.microsoft.com/kb/247507/es. En todo caso, para resumir, se trata de generar una nueva macro desde Excel (Herramientas/Macro/Editor de Visual Basic), donde crearemos un módulo (Insertar/Módulo) con el siguiente código:
Sub HyperLinkChange()
Dim oldtext As String
Dim newtext As String
Dim h As Hyperlink
oldtext = "[ruta antigua]"
newtext = "[ruta nueva]"
For Each h In ActiveSheet.Hyperlinks
x = InStr(1, h.Address, oldtext)
If x > 0 Then
If h.TextToDisplay = h.Address Then
h.TextToDisplay = newtext
End If
h.Address = Application.WorksheetFunction. _
Substitute(h.Address, oldtext, newtext)
End If
Next
End Sub
En este fragmento de código lo único que tienes que hacer es sustituir [ruta antigua] (por ejemplo, por c:documentos) y [ruta nueva] (por ejemplo, por z:compartida) para adaptarlo a tu sistema en particular. Para terminar, sólo tienes que pulsar F5 para ejecutar la macro y realizar los cambios en todo el libro de Excel que tengas abierto
Tags: Archivos hipervínculos