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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 03:53   #1
petrov_ja
 
Регистрация: 01.03.2009
Сообщений: 7
По умолчанию объединение гиперссылок

всем доброго времени суток.

не подскажите как объединить 2 гиперссылки в одну. для того, чтобы открывать два (или 3, или 4) документа одним кликом, а не двумя?

и еще: как изменить текст ссылки оставив ее значение? корявый вопрос

пример:
есть ссылки:
1. "D:\папка excel\документ 1.xls"
2. "D:\папка excel\документ 2.xls"

для того, чтобы открыть эти документы нужно по разу кликнуть по каждой ссылке.

можно ли объединить ссылки так чтобы для открытия этих документов нужно было кликнуть один раз по надписи, например, "сезам откройся" .

спасибо.
petrov_ja вне форума Ответить с цитированием
Старый 23.03.2009, 10:06   #2
IFRSoff
Форумчанин
 
Аватар для IFRSoff
 
Регистрация: 23.02.2009
Сообщений: 306
По умолчанию

Цитата:
Сообщение от petrov_ja Посмотреть сообщение
и еще: как изменить текст ссылки оставив ее значение? корявый вопрос
спасибо.
Я конечно не знаю как он вообще мог возникнуть, но ...
текст ссылки меняется так =гиперссылка("D:\папка excel\документ 1.xls";"сезам откройся")
А вот насчет двух документов нужен макрос.
Лень - двигатель прогресса!
IFRSoff вне форума Ответить с цитированием
Старый 23.03.2009, 16:08   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

По идее, каждая ячейка имеет свойство Hyperlinks, возвращающее коллекцию гиперссылок.
Но, фактически, каждая новая назначенная ячейке гиперссылка затирает старую:
Код:
Sub test()
    Dim sh As Worksheet: Set sh = ActiveSheet
    папка = "C:\Documents and Settings\"
    путь1 = "Копия Копия Копия Excel.xls": путь2 = "Копия Копия Excel.xls"
    путь3 = "Копия Excel.xls": путь4 = "Excel.xls"

    Dim cell As Range: Set cell = [a1]
    sh.Hyperlinks.Add cell, папка & путь1, , , "текст ячейки"
    sh.Hyperlinks.Add cell, папка & путь2, , , "текст ячейки"
    sh.Hyperlinks.Add cell, папка & путь3, , , "текст ячейки"
    sh.Hyperlinks.Add cell, папка & путь4, , , "текст ячейки"
    
    Debug.Print cell.Hyperlinks.Count    ' возвращает 1
    Dim hl As Hyperlink
    For Each hl In sh.Hyperlinks
        Debug.Print hl.Address    ' выводит только последнмй вариант гиперссылки
    Next
End Sub
Цитата:
открывать два (или 3, или 4) документа одним кликом, а не двумя?
Этого при желании можно добиться.
Суть такова:
1) В ячейке (текст в ячейке люобй) присутствует одна гиперссылка, ведущая на "лист настроек"
2) При щелчке на гиперссылке происходит переход на определённую строку листа настроек. Макрос этот момент отлавливает, и запускает переход по четырём гиперссылкам, расположенным в разных ячейках той строки на листе настроек.
3) После всех этих 4-х переходов по гиперссылкам макрос активирует исходную ячейку (ту, по которой щелкнули мышью)
4) С виду (и по сути) всё это очень напоминает переход по 4-м гиперссылкам одновременно.

Но проще, конечно же, поискать другой вариант решения задачи...
EducatedFool вне форума Ответить с цитированием
Старый 03.04.2009, 19:53   #4
petrov_ja
 
Регистрация: 01.03.2009
Сообщений: 7
По умолчанию

IFRSoff, спасибо за то что открыли глаза на очевидное сам не пойму как не дошел до этого самостоятельно. всегда думал, что "имя" это и есть сам текст ссылки...
вот так. век живи век учись. хорошо, что есть кому подсказать.

спасибо.
petrov_ja вне форума Ответить с цитированием
Старый 03.04.2009, 20:22   #5
petrov_ja
 
Регистрация: 01.03.2009
Сообщений: 7
По умолчанию

EducatedFool, спасибо за проявленное внимание и за то, что потрудились написать такое подробное сообщение. как только я разберусь с макросами и научусь их понимать и писать, то воспользуюсь Вашим советом. но нынешний мой опыт и навык позволил лишь определить, что вы мне написали какой - то макрос. хотя я могу и ошибиться на самом деле для меня это сложнова -то

если Вам интересно, то могу сказать, что мне подсказали еще один способ. можно создать рабочую область и сделать ссылку на нее. хотя мне пришлось и самому чуть повозиться с этим методом, но для меня, как юзера, он более понятен и удобен.

еще раз спасибо Вам за то, что отозвались на мою просьбу помочь.
petrov_ja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объединение БД Georgios БД в Delphi 3 25.01.2009 20:18
несколько гиперссылок в ячейке redfield Microsoft Office Excel 5 05.12.2008 13:06
Создание гиперссылок в Word Hypermaster Общие вопросы Delphi 1 06.10.2008 11:39
Объединение списков. life_burns Microsoft Office Excel 5 05.04.2008 16:13
удаление гиперссылок Gambler Microsoft Office Word 0 30.10.2006 23:23