Excel 2002 XP и клавиша "Enter"
Модератор: Naeel Maqsudov
-
- Сообщения: 6
- Зарегистрирован: 28 май 2005, 12:07
Как сделать в версии ХР переход с ячейки, содержащей гиперссылку, по нажатию Enter'a, а не только левой кнопкой мыши?По 2000-ую версию включительно, всё работало так по умолчанию, а в ХР курсор просто перемещается на соседнюю ячейку.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Посмотрите в меню
Сервис/Параметры/Правка - там всегда указывалось в том числе, что делать по Enter
Сервис/Параметры/Переход (в XP может называться по другому) - в 2000-ном там можно было переопределить поведение клавиш и сделать аналогичным Lotus-у. Скорее всего в XP сюда добавили совместимость пользовательского интерфейса с предыдущии версиями. (У меня к сожалению нет XP под рукой...)
Сервис/Параметры/Правка - там всегда указывалось в том числе, что делать по Enter
Сервис/Параметры/Переход (в XP может называться по другому) - в 2000-ном там можно было переопределить поведение клавиш и сделать аналогичным Lotus-у. Скорее всего в XP сюда добавили совместимость пользовательского интерфейса с предыдущии версиями. (У меня к сожалению нет XP под рукой...)
-
- Сообщения: 6
- Зарегистрирован: 28 май 2005, 12:07
Если бы всё было так просто.... С помощью вкладок Сервис/Параметры это , к сожалению не регулируется....
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Завтра посмотрю в Excel2003.
Может там можно будет нажатие клавиши обработать...
Может там можно будет нажатие клавиши обработать...
-
- Сообщения: 6
- Зарегистрирован: 28 май 2005, 12:07
И как в 2003 версии? Перехода по Enter'у тоже нет или есть?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
В 2003 перепрыгивает по Enter-у через гиперссылки нормально. Т.е. как раньше гиперссылка Entero-м не открывается.
-
- Сообщения: 6
- Зарегистрирован: 28 май 2005, 12:07
Мда. Ну, тогда может есть какая другая возможность перехода по нажатию Enter'a с ячейки А1 любого листа книги, на ячейку А1 первого листа?
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Есть. прийдется макросы писать.
В модуле книги (т.е. ThisWorkBook) пришем
Ну а потом добавляем обычный модуль для макросов и пишем макрос:
Проверено в 2003. В XP скорее всего аналогично.
Идея слующая - при открытии книги (Workbook_Open())
вешаем на кливишу ENTER макрос InsertProc
Этот макрос проверяет наличие гиперссылки в активной ячейке и если есть переходит, иначе перемещает курсор вниз.
Только учтите макрос запускается даже если открыть какую-нибудь другую книгу
Наверное правильнее переопределять клавишу всякий раз при активации книги Workbook_Activate и отпускать ее при деактивации. Ну тут уж Вы сами переделаете я надеюсь...
В модуле книги (т.е. ThisWorkBook) пришем
Код: Выделить всё
Private Sub Workbook_Open()
Application.OnKey "~", "InsertProc"
End Sub
Код: Выделить всё
Public Sub InsertProc()
Dim C As Range
On Error Resume Next
Set C = ActiveCell
If C.Hyperlinks.Count > 0 Then C.Hyperlinks(1).Follow Else C.Offset(1, 0).Activate
End Sub
Идея слующая - при открытии книги (Workbook_Open())
вешаем на кливишу ENTER макрос InsertProc
Этот макрос проверяет наличие гиперссылки в активной ячейке и если есть переходит, иначе перемещает курсор вниз.
Только учтите макрос запускается даже если открыть какую-нибудь другую книгу

Наверное правильнее переопределять клавишу всякий раз при активации книги Workbook_Activate и отпускать ее при деактивации. Ну тут уж Вы сами переделаете я надеюсь...