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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 16:35   #1
vadimvedy
 
Регистрация: 15.12.2009
Сообщений: 9
Смущение пересылка Exel файлов, содержащих гиперссылки

Подскажите пожалуйста, есть ли решение для следующей проблемы: создал Exel файл, содержащий гиперссылки на графические файлы. После пересылки файла и всей структуры подкаталогов, включая графические файлы, на которые производится ссылка, гиперссылки перестают работать.
Спасибо заранее
vadimvedy вне форума Ответить с цитированием
Старый 15.12.2009, 17:03   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

И правильно перестают. Я так понимаю Вы пересылаете файл на др. компьютер. А при этом путь в гиперссылках остается прежний, который, естественно, отсутствует на др.компьютерах.
Но может быть я не прав, т.к. слегка подталкивает на раздумья эта фраза:
Цитата:
файла и всей структуры подкаталогов, включая графические файлы, на которые производится ссылка
Это как? Вы что, все папки пересылаете вместе в файлом?

Может опишите проблему поподробней?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 15.12.2009, 17:12   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Я в таких случаях прописываю гиперссылки макросом.
В итоге ссылки создаются не с абсолютным путём типа E:\Excel\img\37b[1].jpg
а имеют вид \img\37b[1].jpg

В этом случае после пересылки файла вместе с папкой с картинками все гиперссылки будут работать.
(если расположение файла excel относительно картинок останется неизменным)

PS: Наверное, есть возможность и вручную прописать относительные ссылки, но я не знаю, как...
EducatedFool вне форума Ответить с цитированием
Старый 15.12.2009, 17:19   #4
vadimvedy
 
Регистрация: 15.12.2009
Сообщений: 9
Смущение

Цитата:
Сообщение от The_Prist Посмотреть сообщение
И правильно перестают. Я так понимаю Вы пересылаете файл на др. компьютер. А при этом путь в гиперссылках остается прежний, который, естественно, отсутствует на др.компьютерах.
Но может быть я не прав, т.к. слегка подталкивает на раздумья эта фраза:Это как? Вы что, все папки пересылаете вместе в файлом?

Может опишите проблему поподробней?
Да, конечно же я в заархивированном виде пересылаю все каталоги, которые содержат файлы, на которые производится ссылка, не изменяя положения их друг относительно друга
vadimvedy вне форума Ответить с цитированием
Старый 15.12.2009, 17:29   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Если гиперссылку задаете формулой, то горю помочь можно, не прибегая к помощи макросов.
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Рисунок.jpg";"Открыть рисунок")
Файлы картинок должны располагаться в той же папке, что и файл с гиперссылками на них. Имена файлов не менять.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 15.12.2009, 17:39   #6
vadimvedy
 
Регистрация: 15.12.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Если гиперссылку задаете формулой, то горю помочь можно, не прибегая к помощи макросов.
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Рисунок.jpg";"Открыть рисунок")
Файлы картинок должны располагаться в той же папке, что и файл с гиперссылками на них. Имена файлов не менять.
Спасибо большое! Но, если граф файлов очень много и они определенным образом распределены во вложенных папках, (т.е. нет возможности все свалить в один каталог) как будет выглядеть формула?

Еще раз спасибо
vadimvedy вне форума Ответить с цитированием
Старый 15.12.2009, 17:45   #7
vadimvedy
 
Регистрация: 15.12.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Если гиперссылку задаете формулой, то горю помочь можно, не прибегая к помощи макросов.
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Рисунок.jpg";"Открыть рисунок")
Файлы картинок должны располагаться в той же папке, что и файл с гиперссылками на них. Имена файлов не менять.
Подскажите, пож
А может существует какой-то вариант с использованием относительных ссылок?
vadimvedy вне форума Ответить с цитированием
Старый 15.12.2009, 17:49   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от vadimvedy Посмотреть сообщение
как будет выглядеть формула?
Трудно сказать точно. Если все каталоги и подкаталоги расположены в одной папке с файлом Excel, в котором гиперссылки, то вместо "\Рисунок.jpg" просто довставляете путь
"\Папка1\Еще одна\Рисунок.jpg"
Т.е. если Ваш архив со всеми вложениями разархивирован в папку "C:\Temp", то
Файл с гиперссылками имеет полный путь - "C:\Temp\Файл.xls"
Рисунки - "C:\Temp\Папка1\Рисунок1.jpg", "C:\Temp\Папка1\Еще одна\Рисунок2.jpg"
Формула
Для Рисунок1
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Папка1\Рисунок.jpg";"Открыть рисунок")
Для Рисунок2
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Папка1\Еще одна\Рисунок.jpg";"Открыть рисунок")
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 15.12.2009, 17:52   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от vadimvedy Посмотреть сообщение
А может существует какой-то вариант с использованием относительных ссылок?
Думаю нет. Если Вы сами не знаете, где будут располагаться файлы, то уж Excel тем более.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 15.12.2009, 18:08   #10
vadimvedy
 
Регистрация: 15.12.2009
Сообщений: 9
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Трудно сказать точно. Если все каталоги и подкаталоги расположены в одной папке с файлом Excel, в котором гиперссылки, то вместо "\Рисунок.jpg" просто довставляете путь
"\Папка1\Еще одна\Рисунок.jpg"
Т.е. если Ваш архив со всеми вложениями разархивирован в папку "C:\Temp", то
Файл с гиперссылками имеет полный путь - "C:\Temp\Файл.xls"
Рисунки - "C:\Temp\Папка1\Рисунок1.jpg", "C:\Temp\Папка1\Еще одна\Рисунок2.jpg"
Формула
Для Рисунок1
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Папка1\Рисунок.jpg";"Открыть рисунок")
Для Рисунок2
Код:
=ГИПЕРССЫЛКА(ПСТР(ЯЧЕЙКА("имяфайла");1;НАЙТИ("[";ЯЧЕЙКА("имяфайла"))-1)&"\Папка1\Еще одна\Рисунок.jpg";"Открыть рисунок")
Уважаемый The Prist,
извините, что напрягаю Вас, но еще вопрос. Правильно ли я понимаю, что используя данную формулу я могу конкретной ячейке присвоить не более одного граф файла?
Т.е. у меня была задача сделать возможным просматривать группу файлов. В случае использования гиперссылки открывался первый граф файл в подкаталоге, а потом пользователь мог просто щелкая стрелочку просмотрщика граф изображений, просмотреть все картинки каталога.
vadimvedy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание HTML-документов, содержащих сценарии JavaScript. McDearl HTML и CSS 2 03.12.2009 21:16
О массивах, содержащих строку. GonZaleZ Общие вопросы C/C++ 10 22.06.2009 17:11
Пересылка ДАнных на e-mail boba HTML и CSS 1 07.11.2008 00:04
пересылка данных из одной сети в другую AIst Работа с сетью в Delphi 5 08.07.2008 23:50
Пересылка нетипизированных файлов через модем (как в гипертерминале) naumovmag Софт 1 21.09.2007 22:13