Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Excel | Замена данных в гиперссылке (http://forum.oszone.net/showthread.php?t=177781)

malkinfedor 09-06-2010 19:56 1430939

Excel | Замена данных в гиперссылке
 
Вопрос таков:
есть таблица, в ней есть столбец с гипер-ссылками на файлы и папки которые находятся в сети, например \\notebook8\distr.
Так вот, хочу я эти файлы с папками переместить на сервер, в таблице соответственно нужно поменять ссылки с notebook8 на server.
Подскажите как это сделать, уже нет мочи больше в одиночку бороться.

Всем огромно спасибо заранее!

Morpheus 09-06-2010 20:16 1430957

malkinfedor, Ctrl+H.

malkinfedor 09-06-2010 20:25 1430962

К сожалению не все так просто, когда выделяешь эту ячейку с гиперссылкой, то в строке формула только то что написано в самой яячейке а не адрес куда ссылается эта ссылка.

Morpheus 09-06-2010 21:33 1431008

malkinfedor, нашел макрос. У меня 2010 Office, но в 2007 должно быть примерно так же:
  1. Файл ---> Параметры ---> Настройка ленты ---> ставим флажок "Разработчик" ---> OK.
  2. Разработчик ---> Макросы ---> задаём имя, например: "lnk" ---> Создать.
  3. Копируем текст макроса:
    Код:

    Sub lnk()
    old_link = ActiveCell.Text
    Selection.Hyperlinks.Delete
    new_link = Replace(old_link, "notebook8", "server")
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    new_link, TextToDisplay:=new_link
    End Sub

    Сохраняем и закрываем окно.
  4. Возвращаемся в таблицу ---> выделяем ячейки со ссылками ---> Макросы ---> Выполнить.
Ссылки должны замениться, текст меняем с помощью Ctrl+H.
Разумеется, тренироваться лучше на копии файла.

v12345 10-06-2010 05:37 1431225

Вложений: 2
Если пользователь чувствует себя с макросами неуверенно, ему лучше подойдет способ, основанный на формулах.
На первой картинке - вид ячеек с содержимым, на второй - в режиме формул.

malkinfedor 15-06-2010 19:52 1434766

Вложений: 1
Спасибо всем товарищи, очень помогли!
Тему можно считать решенной, но если вдруг у кого возникнет такая же потребность, сейчас сюда выложу ответы с другого форума, не знаю разрешено ли тут давать линки на другие форумы.

Как применить этот макрос для других файлов, это для тех кто вообще с excel не дружит
Цитата:

Перенесите единственный модуль из этой книги в свою. Alt+F11.
Модуль называется mReplaceHyperlink. Подробнее о том, где искать модули:http://excel-vba.ru/Tips_What_Module.html
Вам нужен стандартный модуль.

Перенести можно прям в редакторе VBA, просто удерживая мышкой этот модуль и перетаскивая в папку модулей своей книги.

EPMAKOB 20-01-2011 10:16 1592907

Мне надо было поменять ссылки в двух колонках (в 16-й и 15-й по счету, т.е. в колонке "P" и "Q")

Вот что получилось:

Sub HLinke()
For index2 = 1 To 2
For Index = 2 To 300
Cells(Index, 15 + index2).Select
If ActiveCell.Text <> "" Then
old_link = ActiveCell.Text
Selection.Hyperlinks.Delete
new_link = Replace(old_link, "notebook8", "server")
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
new_link, TextToDisplay:=new_link
End If
Next Index
Next index2
End Sub

Petrik99 18-04-2013 15:32 2135126

А если нужно, к примеру, не удалить/изменить что-то в ссылке, а добавить. Тоесть есть путь C:\Program Files, а нужно сделать C:\2013\Program Files? Как правильно прописать? Как применять макрос в данном случае?


Время: 16:35.

Время: 16:35.
© OSzone.net 2001-