Cambio de un gran número de hipervínculos

September 9

Wendy tiene una sola hoja de cálculo de Excel que contiene más de 1.200 enlaces a archivos TIFF. (Estos son los hipervínculos, no vínculos regulares.) Excel hipo y tuvo que cerrar, por lo que Emily utilizado los archivos guardados automáticamente para recuperar el archivo guardado previamente. Ahora todos los hipervínculos de trabajo previamente no funcionan. Tenía los hipervínculos a las imágenes en una unidad de red compartida, pero el guardado automático cambió los hipervínculos para hacer referencia a la unidad C:. Ella se pregunta si hay una manera más fácil de arreglar de nuevo a la unidad de red compartida.

A primera vista podría parecer que usted podría utilizar la búsqueda normal de Excel y reemplazar para buscar la designación del disco duro (como en file: // c :) y reemplazarlo con una unidad de red (como en file: // SHAREDDRIVE). El problema es que este enfoque sólo se refiere a una parte del problema, sólo cambia la parte visualizada del hipervínculo, no el hipervínculo subyacente. La única manera de llegar a un hipervínculo en sí es a través del uso de una macro.

Suponiendo que todos los hipervínculos que deben cambiar están en la misma hoja de cálculo, entonces usted puede utilizar la macro siguiente:

Sub FixHyperlinks1 ()
Semanas dévil como hoja de trabajo
Hl Dim como hipervínculo
Dim VENDE Cadena
Dim SNEW As String

Establecer semanas = ActiveSheet
Vendido = "c: \"
SNEW = "S: \ Red \"
Para Cada hl En wks.Hyperlinks
hl.Address = Replace (hl.Address, vendido, SNEW)
Siguiente hl
End Sub

Todo lo que necesitas hacer es cambiar los valores asignados a las variables vendido y SNEW. Si se produce un error cuando intenta ejecutar la macro-un error en la línea que contiene la función Reemplazar-es porque la función Replace no está disponible en todas las versiones de Excel. En ese caso se debe utilizar la siguiente macro, en su lugar:

Sub FixHyperlinks2 ()
Semanas dévil como hoja de trabajo
Hl Dim como hipervínculo
Dim VENDE Cadena
Dim SNEW As String

Establecer semanas = ActiveSheet
Vendido = "c: \"
SNEW = "S: \ Red \"
Para Cada hl En wks.Hyperlinks
hl.Address = Application.WorksheetFunction. _
Suplente (hl.Address, vendido, SNEW)
Siguiente hl
End Sub

Tenga en cuenta que la única diferencia es el uso de la función de hoja Sustituto.

ExcelTips es su fuente de capacitación rentable Microsoft Excel. Esta punta (8622) se aplica a Microsoft Excel 97, 2000, 2002, y 2003. Usted puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y versiones posteriores) aquí: Cambiar un gran número de hipervínculos.