Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 08:59   #1
Людмилка
Пользователь
 
Регистрация: 16.07.2008
Сообщений: 10
По умолчанию Как изменить путь гиперссылки

У меня на листе много гиперссылок, в пути гиперссылки указан месяц например Ноябрь, мне надо ноябрь заменить на декабрь. Я написала вот такой макрос:
Sub Gip()

Dim lnk As Hyperlink
box1 = InputBox("Старый месяц", "Старый месяц")
box2 = InputBox("Новый месяц", "Новый месяц")

For Each lnk In ActiveSheet.Hyperlinks
lnk.Address = Replace(lnk.Address, box1, box2)
Next

End Sub
Таким образом у меня заменяется не полный адрес (от диска С:\), а адрес от папки в которой находится файл.
У меня вопрос: как получить полный адрес гиперссылки?
Я пробывала сцеплять путь к рабочей книге и адрес гиперссылки, но тогда при каждом запуске макроса, опять цепляется путь рабочей книги к макросу (по нарастающей так сказать).
Людмилка вне форума Ответить с цитированием
Старый 07.12.2011, 09:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Это пробовали?
http://excelvba.ru/code/replace_hyperlinks
По сути, от же самое, - но никто не жаловался на этот код.

PS: А вас, видимо, все гиперссылки сейчас относительные.
Сделайте из абсолютными (например, путем сохранения файла на другом диске, и последующего сохранения по прежнему пути), а потом выполняйте замену.

PS: Ваш файл Excel находится в папке "ноябрь"?
Тогда разместите его в другой папке - на один уровень вверх,
чтобы в той папке, где расположен файл Excel, были подпапки с названиями месяцев.
После этого точно гиперссылки начнут заменяться.
EducatedFool вне форума Ответить с цитированием
Старый 07.12.2011, 09:31   #3
Людмилка
Пользователь
 
Регистрация: 16.07.2008
Сообщений: 10
По умолчанию

http://excelvba.ru/code/replace_hyperlinks этот код моей проблемы не решает, там тоже меняется только часть адреса гиперссылки
Полный путь гиперссылки вот такой
C:\Documents and Settings\User\Рабочий стол\Выработка ДВ-Март ноябрь 11\декабрь\декабрь.xlsx
После макроса изменяется та часть пути, что выделена жирным
Мой файлик находится в Выработка ДВ-Март ноябрь 11
Перемещать файлики я не могу, там очень много уровней и файликов.

Когда наводишь мышкой на гиперссылку, то отображается полный путь, а в lnk.Address хранится урезанный путь (декабрь\декабрь.xlsx)

Последний раз редактировалось Людмилка; 07.12.2011 в 09:33.
Людмилка вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как массово изменить гиперссылки? 1o1man Microsoft Office Excel 23 15.12.2011 13:11
Изменить путь к БД Access Andrey85 БД в Delphi 9 14.11.2010 16:23
Как изменить путь сохранения/открытия проекта по умолчанию? fs444 Общие вопросы C/C++ 0 22.01.2010 13:03
Как изменить стиль гиперссылки? Нужно убрать рамку вокруг картинки. GLB HTML и CSS 5 18.01.2009 19:18