Отлавливаю событие перехода по гиперссылке с помощью Worksheet_FollowHyperlink Извлекаю строку адреса и подгружаю контент в форму. Как заставить не открывать в браузере данную гиперссылку, и при этом не удалять ее ? А так же не выводить никаких сообщений если она не существует
Отлавливаю событие перехода по гиперссылке с помощью Worksheet_FollowHyperlink Извлекаю строку адреса и подгружаю контент в форму. Как заставить не открывать в браузере данную гиперссылку, и при этом не удалять ее ? А так же не выводить никаких сообщений если она не существуетmveresov
А если вставить не гиперссылку, а обычный текст. И событие SelectionChange. Если будет в ячейке текст с ссылкой - то отрабатывать макрос - нет - не отрабатывать.
А если вставить не гиперссылку, а обычный текст. И событие SelectionChange. Если будет в ячейке текст с ссылкой - то отрабатывать макрос - нет - не отрабатывать.SLAVICK
Чтобы выбрать гиперссылка, но не переходить на назначение, выполните одно из указанных ниже действий:
Щелкните ячейку, содержащую гиперссылку, и удерживайте нажатой кнопку мыши, пока указатель не примет вид креста Курсор выделения Microsoft Excel . После этого отпустите кнопку мыши.
Выделите ячейку, содержащую ссылку, с помощью клавиш со стрелками.
Если ссылка является графическим объектом, нажмите клавишу CTRL и, удерживая ее нажатой, щелкните ссылку.
Чтобы выбрать гиперссылка, но не переходить на назначение, выполните одно из указанных ниже действий:
Щелкните ячейку, содержащую гиперссылку, и удерживайте нажатой кнопку мыши, пока указатель не примет вид креста Курсор выделения Microsoft Excel . После этого отпустите кнопку мыши.
Выделите ячейку, содержащую ссылку, с помощью клавиш со стрелками.
Если ссылка является графическим объектом, нажмите клавишу CTRL и, удерживая ее нажатой, щелкните ссылку.
А если вставить не гиперссылку, а обычный текст. И событие SelectionChange.
Должно выполняться условие интуитивного восприятия ожидаемых действий от пользователя.... У меня в ячейке стоит гиперссылка на картинку, а замещающий текст - ФОТО, при нажатии картинка подгружается в форму, а ее открытие в браузере мешает ... Возможен вариант когда можно создать в объекте скрытый атрибут со строкой ссылки, который можно получить через событие и использовать для подгрузки данных, но пока в голову не приходит что лучше использовать... Может использовать примечание ? но как запретить его отображение при наведении курсора ? Так же решение должно учитывать и размера файла XLS, при использовании графических форм он будет просто запредельным...
А если вставить не гиперссылку, а обычный текст. И событие SelectionChange.
Должно выполняться условие интуитивного восприятия ожидаемых действий от пользователя.... У меня в ячейке стоит гиперссылка на картинку, а замещающий текст - ФОТО, при нажатии картинка подгружается в форму, а ее открытие в браузере мешает ... Возможен вариант когда можно создать в объекте скрытый атрибут со строкой ссылки, который можно получить через событие и использовать для подгрузки данных, но пока в голову не приходит что лучше использовать... Может использовать примечание ? но как запретить его отображение при наведении курсора ? Так же решение должно учитывать и размера файла XLS, при использовании графических форм он будет просто запредельным...
Правильно я понимаю что ссылка лежит в тех же адресах но на другом скрытом листе ? А как его скрыть или отобразить ? Все же событие Worksheet_SelectionChange мне кажется не очень удобным так как оно охватывает как простое перемещение по ячейкам с помощью клавиатуры так и нажатие правой кнопки мышки, можно конечно это все отфильтровать, но больше нравиться в этом плане Worksheet_FollowHyperlink поэтому и зацепился за нее...
Правильно я понимаю что ссылка лежит в тех же адресах но на другом скрытом листе ? А как его скрыть или отобразить ? Все же событие Worksheet_SelectionChange мне кажется не очень удобным так как оно охватывает как простое перемещение по ячейкам с помощью клавиатуры так и нажатие правой кнопки мышки, можно конечно это все отфильтровать, но больше нравиться в этом плане Worksheet_FollowHyperlink поэтому и зацепился за нее...mveresov
Worksheet_SelectionChange мне кажется не очень удобным так как оно охватывает как простое перемещение по ячейкам с помощью клавиатуры
Ну можно на Дабл клик повесить. [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox Sheets(" ").Range(Target.Cells(1, 1).Address).Value Cancel = 1 End Sub
Worksheet_SelectionChange мне кажется не очень удобным так как оно охватывает как простое перемещение по ячейкам с помощью клавиатуры
Ну можно на Дабл клик повесить. [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox Sheets(" ").Range(Target.Cells(1, 1).Address).Value Cancel = 1 End Sub
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) On Error Resume Next ActiveSheet.Pictures.Insert(Sheets(Split(Target.SubAddress, "!")(0)) _ .Range(Split(Target.SubAddress, "!")(1)).Hyperlinks(1).Address).Select If Err Then ActiveSheet.Pictures.Insert(Sheets(Split(Target.SubAddress, "!")(0)) _ .Range(Split(Target.SubAddress, "!")(1)).Value).Select End If End Sub
[/vba]
Со скрытым листом по гиперссылке [vba]
Код
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) On Error Resume Next ActiveSheet.Pictures.Insert(Sheets(Split(Target.SubAddress, "!")(0)) _ .Range(Split(Target.SubAddress, "!")(1)).Hyperlinks(1).Address).Select If Err Then ActiveSheet.Pictures.Insert(Sheets(Split(Target.SubAddress, "!")(0)) _ .Range(Split(Target.SubAddress, "!")(1)).Value).Select End If End Sub