Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как делать ОТНОСИТЕЛЬНЫЕ гиперссылки? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как делать ОТНОСИТЕЛЬНЫЕ гиперссылки?
Alex_ST Дата: Четверг, 28.11.2013, 12:00 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3211
Репутация: 609 ±
Замечаний: 0% ±

2003
Народ, мне нужно хранить на сервере заархивированные директории, в корне которых будет лежать табличка, в ячейках которой будут прописаны коды документов (томов и книг рабочих проектов), в соседней - их названия, правее - гиперссылка на открытие.
Excel-таблица и документы лежат в одной папке и её подпапках.

По стандартному Ctrl+K прописывается только абсолютный путь от корня диска. А мне нужно ОТНОСИТЕЛЬНЫЙ - от места расположения таблицы со ссылкой.
ВОПРОС: Как в табличку прописать ОТНОСИТЕЛЬНЫЕ гиперссылки на файлы?
(надеюсь, файл-пример не нужен? :) )



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 28.11.2013, 12:01
 
Ответить
СообщениеНарод, мне нужно хранить на сервере заархивированные директории, в корне которых будет лежать табличка, в ячейках которой будут прописаны коды документов (томов и книг рабочих проектов), в соседней - их названия, правее - гиперссылка на открытие.
Excel-таблица и документы лежат в одной папке и её подпапках.

По стандартному Ctrl+K прописывается только абсолютный путь от корня диска. А мне нужно ОТНОСИТЕЛЬНЫЙ - от места расположения таблицы со ссылкой.
ВОПРОС: Как в табличку прописать ОТНОСИТЕЛЬНЫЕ гиперссылки на файлы?
(надеюсь, файл-пример не нужен? :) )

Автор - Alex_ST
Дата добавления - 28.11.2013 в 12:00
KuklP Дата: Четверг, 28.11.2013, 12:09 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Леш, в ДОС текущая папка относительно обозначается точкой, папка уровнем выше - двумя точками. В гиперссылках не применял, не было потребы. Попробуй.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЛеш, в ДОС текущая папка относительно обозначается точкой, папка уровнем выше - двумя точками. В гиперссылках не применял, не было потребы. Попробуй.

Автор - KuklP
Дата добавления - 28.11.2013 в 12:09
_Boroda_ Дата: Четверг, 28.11.2013, 12:17 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла";A1);1;ПОИСК("[";ЯЧЕЙКА("имяфайла";A1))-1)&B1;"ГС_1")
К сообщению приложен файл: _1.xlsx (8.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла";A1);1;ПОИСК("[";ЯЧЕЙКА("имяфайла";A1))-1)&B1;"ГС_1")

Автор - _Boroda_
Дата добавления - 28.11.2013 в 12:17
Alex_ST Дата: Четверг, 28.11.2013, 12:33 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3211
Репутация: 609 ±
Замечаний: 0% ±

2003
Саш, спасибо за пример.
Очень поучительно. Но, к сожалению, также и очень не удобно, т.к. директория не "плоская", а многоуровневая, с поддиректориями и к каждому документу ручками путь не подправишь.
Тут, наверное, нужно как-то так:
1. Создаёшь табличку со стандартными гиперссылками
2. Макросом в гиперссылках как-то меняешь абсолютный путь на относительный.
НО КАК? (ДОС я никогда тлком и не знал, а то, что знал - накрепко забыл, к сожалению)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеСаш, спасибо за пример.
Очень поучительно. Но, к сожалению, также и очень не удобно, т.к. директория не "плоская", а многоуровневая, с поддиректориями и к каждому документу ручками путь не подправишь.
Тут, наверное, нужно как-то так:
1. Создаёшь табличку со стандартными гиперссылками
2. Макросом в гиперссылках как-то меняешь абсолютный путь на относительный.
НО КАК? (ДОС я никогда тлком и не знал, а то, что знал - накрепко забыл, к сожалению)

Автор - Alex_ST
Дата добавления - 28.11.2013 в 12:33
_Boroda_ Дата: Четверг, 28.11.2013, 12:53 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Дык, а в чем проблема-то?
Пробегаешься по всем файлам и папкам в текущей папке. Пока бегаешь, то ты же знаешь путь, где пробегаешь в данный момент, правильно? А если твой сборный файл лежит в корне, то все ГС будут иметь вид 222\ааааа\о5о4о5о4\Книга21.xlsx,
где 222\ааааа\о5о4о5о4 - это куча вложенных папок. А то, что находится выше, в данном случае, для ГС не важно. Вот и пиши последовательно путь, НАЧИНАЯ с того места, где лежит сам файл. Путь ВСЕГДА будет относительный.
Макрокодером так
[vba]
Код
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="222\ааааа\о5о4о5о4\Книга21.xlsx", _
         TextToDisplay:="222\ааааа\о5о4о5о4\Книга21.xlsx"
[/vba]
Кстати, если нужно выше, то вид такой (как уже совершенно верно Сергей выше написал)
..\Работа\035_1.xls


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДык, а в чем проблема-то?
Пробегаешься по всем файлам и папкам в текущей папке. Пока бегаешь, то ты же знаешь путь, где пробегаешь в данный момент, правильно? А если твой сборный файл лежит в корне, то все ГС будут иметь вид 222\ааааа\о5о4о5о4\Книга21.xlsx,
где 222\ааааа\о5о4о5о4 - это куча вложенных папок. А то, что находится выше, в данном случае, для ГС не важно. Вот и пиши последовательно путь, НАЧИНАЯ с того места, где лежит сам файл. Путь ВСЕГДА будет относительный.
Макрокодером так
[vba]
Код
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="222\ааааа\о5о4о5о4\Книга21.xlsx", _
         TextToDisplay:="222\ааааа\о5о4о5о4\Книга21.xlsx"
[/vba]
Кстати, если нужно выше, то вид такой (как уже совершенно верно Сергей выше написал)
..\Работа\035_1.xls

Автор - _Boroda_
Дата добавления - 28.11.2013 в 12:53
Alex_ST Дата: Четверг, 28.11.2013, 15:10 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3211
Репутация: 609 ±
Замечаний: 0% ±

2003
Спасибо, ребята.
Пока файлов с десяток, макрос писать некогда.
А вот когда будет побольше, то можно будет, действительно, пройтись циклом по всем гиперссылкам и откоцать от них слева кусок, равный длине ThisWorkBook.Path для ссылок, у которых в начале нет ../

Да и для тех, где в начале стоит ../, тоже вычислить не проблема, хотя это в моём случае не нужно, т.к. файлы могут лежать либо рядом, либо глубже.

----------------------------------------------------
поторопился я, "перебдел" :'(
Ничего писАть не нужно. Ссылки, оказывается, и так относительными получаются для файлов, лежащих рядом или глубже.
Вопрос снят.
Ещё раз спасибо.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 28.11.2013, 22:27
 
Ответить
СообщениеСпасибо, ребята.
Пока файлов с десяток, макрос писать некогда.
А вот когда будет побольше, то можно будет, действительно, пройтись циклом по всем гиперссылкам и откоцать от них слева кусок, равный длине ThisWorkBook.Path для ссылок, у которых в начале нет ../

Да и для тех, где в начале стоит ../, тоже вычислить не проблема, хотя это в моём случае не нужно, т.к. файлы могут лежать либо рядом, либо глубже.

----------------------------------------------------
поторопился я, "перебдел" :'(
Ничего писАть не нужно. Ссылки, оказывается, и так относительными получаются для файлов, лежащих рядом или глубже.
Вопрос снят.
Ещё раз спасибо.

Автор - Alex_ST
Дата добавления - 28.11.2013 в 15:10
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!