|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.06.2014, 15:48 | #1 |
Регистрация: 19.06.2014
Сообщений: 8
|
массовое изменение адресов гиперссылок в книге
Доброе время суток!
У меня такая проблема: Есть два файла, один основной(1), другой второстепенный(2). Оба находятся в одной папке. Каждая ячейка в файле 1 имеет гиперссылку на определенную ячейку в файле 2 и также обратно, для возвращения в основной файл. В файле 1 гиперссылки не имели полного адреса расположения файла 2 в сетевой папке, что давало возможность копировать папку с обоими файлами, допустим, на флешку, и не ломая гиперссылки. Фактически адрес ссылки выглядел так: "Файл 2.xlsm#'Имя Листа'!Номер ячейки" Сейчас на сетевом ресурсе что-то произошло, и в гиперссылках появились лишние адреса. В итоге всё начало выглядить так: /../../../Папка/Папка/"Файл 2.xlsm#'Имя Листа'!Номер ячейки". Можно ли при помощи какого-либо макроса удалить часть адреса гиперссылки, ну или заменить на пустоту сразу во всех гиперссылках документа?Их больше тысячи. Хэлп ми!!! |
19.06.2014, 16:23 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
вы только поиском не пользуйтесь в гугле, - а то сразу найдете решение типа этого: http://excelvba.ru/code/replace_hyperlinks |
|
19.06.2014, 16:48 | #3 | |
Регистрация: 19.06.2014
Сообщений: 8
|
Цитата:
|
|
19.06.2014, 17:10 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Не помогло?
так вы покажите, как вы применяли этот макрос... вообще, тут все просто делается, за пару секунд, без всяких макросов (если речь по ссылки в ФОРМУЛАХ) Нажимаем Ctrl + H (для вызова диалогового окна поиска и замены), в поле «Что заменить» вводим /../../../Папка/Папка/ задаем область поиска - во всей книге, и жмём кнопку ЗАМЕНИТЬ ВСЕ ну а если речь о ГИПЕРССЫЛКАХ, - то тогда тот мой макрос: Код:
|
19.06.2014, 17:39 | #5 |
Регистрация: 19.06.2014
Сообщений: 8
|
Вот мой макрос:
Sub test2() On Error Resume Next Dim hl As Hyperlink, s As String, sh As Worksheet s = "../../../../Maintenance/Транспортная%20сеть/Транспортная%20сеть/" ' часть гиперссылки, подлежащая удалению For Each sh In ActiveWorkbook.Worksheets For Each hl In sh.Hyperlinks If hl.Address Like s & "*" Then hl.Address = Replace(hl.Address, s, "") Next Next sh End Sub я создаю макрос, редактирую его, то есть вставляю полностью этот код. После чего я нажимаю выполнить макрос. Комп думает секунды 3. Все, больше ничего не происходит. я пробовал и на другом компе. Речь идет именно о гиперссылках. |
19.06.2014, 17:41 | #6 |
Регистрация: 19.06.2014
Сообщений: 8
|
также я делал так:
Sub ЗаменаИспорченныхГиперссылок() On Error Resume Next Dim hl As Hyperlink, oldString As String, newString As String, sh As Worksheet ' часть гиперссылки, подлежащая замене oldString = "../../../../Maintenance/Транспортная%20сеть/Транспортная%20сеть/" ' на что заменяем newString = "" For Each sh In ActiveWorkbook.Worksheets ' перебираем все листы в активной книге For Each hl In sh.Hyperlinks ' перебираем все гиперссылки на листе If hl.Address Like oldString & "*" Then hl.Address = Replace(hl.Address, oldString, newString) End If Next Next sh End Sub тоже никакой реакции. В настройках безопасности я тоже разрешил все макросы. Я всю голову уже сломал... |
19.06.2014, 17:51 | #7 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
ну так, может, прикрепите пример файла, в котором будет хотя бы одна проблемная гиперссылка?
|
19.06.2014, 18:01 | #8 |
Регистрация: 19.06.2014
Сообщений: 8
|
я бы с радостью, но это коммерческая, мать ее, тайна...2 очень больших файла, из них сложно будет что-то вытащить...
беда в том, что ссылка была обычной, и кроме названия файла в ней ничего не было, а теперь появился путь.... |
19.06.2014, 18:25 | #9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
любую коммерческую тайну можно препарировать до состояния, когда она перестает быть таковой и может быть выложена на всеобщее обозрение и обсуждение
или... можете продолжать перебирать варианты самостоятеьно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
19.06.2014, 18:53 | #10 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
На другом форуме - то же обсуждение - и тоже файл почему-то просят) http://www.planetaexcel.ru/forum/ind...ssylok-v-knige |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как зафиксировать событие (изменение) в книге? | ЕленаС | Microsoft Office Excel | 27 | 31.12.2010 17:34 |
изменение номера страницы в Колонтитулах по всей книге Exel | DimonJar | Microsoft Office Excel | 0 | 09.02.2010 20:12 |
Редактирование всех гиперссылок в книге | Vogulus | Microsoft Office Excel | 3 | 20.01.2010 15:19 |
Массовое изменение цен Microsoft Excel 2007 | ZooMKA | Microsoft Office Excel | 2 | 26.08.2009 18:15 |
массовое изменение свойств компонентов | CraZZy RabbIt | Компоненты Delphi | 1 | 15.03.2009 23:13 |