Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

22 Май 2022, 14:19 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Назначение хоткеев  (Прочитано 1019 раз)
0 Пользователей и 1 Гость смотрят эту тему.
TanaTiX
Участник
**
Offline Offline

Сообщений: 46


« Стартовое сообщение: 14 Апрель 2022, 01:25 »

Можно пример, как назначить хоткеи определенным функциям? Функции хранятся в файле.
Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 672


« Ответ #1: 14 Апрель 2022, 08:59 »

Что есть "функции"? Если это команды/макросы то:

Сервис - Настройка - Клавиатура - команды/макросы
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
sokol92
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 909


WWW
« Ответ #2: 14 Апрель 2022, 13:45 »

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

Владимир.
eeigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 1 088


« Ответ #3: 14 Апрель 2022, 15:09 »

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

Если кто-то решал подобную задачу – поделитесь…
« Последнее редактирование: 14 Апрель 2022, 15:11 от eeigor » Записан

Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 726


« Ответ #4: 14 Апрель 2022, 15:11 »

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

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

С уважением,
Михаил Каганский
sokol92
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 909


WWW
« Ответ #5: 14 Апрель 2022, 15:35 »

В версии 4.2 появился сервис DocumentAcceleratorConfiguration. Я не изучал.
Записан

Владимир.
TanaTiX
Участник
**
Offline Offline

Сообщений: 46


« Ответ #6: 14 Апрель 2022, 22:11 »

>Сервис - Настройка - Клавиатура - команды/макросы
Да, оно, только программно.
>работать это будет только в случае, когда этот документ является текущим
Само собой.
Записан
sokol92
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 909


WWW
« Ответ #7: 15 Апрель 2022, 13:02 »

Следующий макрос назначает на комбинацию клавиш Alt+F1 выполнение макроса MyMacro модуля Module1 библиотеки Standard.
Код:
Sub TestAccSetKey
   Dim oACC, keyEvent As New com.sun.star.awt.KeyEvent
   oACC=com.sun.star.ui.ModuleAcceleratorConfiguration.createWithModuleIdentifier("com.sun.star.sheet.SpreadsheetDocument") 
   'oACC=GetProcessServiceManager.createInstanceWithArguments("com.sun.star.ui.ModuleAcceleratorConfiguration", Array( "com.sun.star.sheet.SpreadsheetDocument"))
   With keyEvent
     .KeyCode=com.sun.star.awt.Key.F1
     .Modifiers=4   ' Alt
   End With   
   oAcc.setKeyEvent KeyEvent, "vnd.sun.star.script:Standard.Module1.MyMacro?language=Basic&location=document"
   oAcc.store  ' сохраняем конфигурацию
End Sub

К сожалению, изменения вступают в силу только после перезагрузки LO. Не знаю, известный ли это баг. Улыбка
Записан

Владимир.
eeigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 1 088


« Ответ #8: 15 Апрель 2022, 14:51 »

Владимир, когда-нибудь всё это заработает…
Благодаря Михаилу я (мы) теперь могу отслеживать изменения параметров пользователем, но макросом сделать то же самое не могу и по той же причине: требуется рестарт.
Записан

Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
mikekaganski
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 2 726


« Ответ #9: 15 Апрель 2022, 14:57 »

Не знаю, известный ли это баг. Улыбка

И не стоит тратить время узнавать: вместо этого лучше потратить время и написать новый Подмигивающий
Записан

С уважением,
Михаил Каганский
sokol92
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 909


WWW
« Ответ #10: 15 Апрель 2022, 14:59 »

Сегодня напишу.
Записан

Владимир.
sokol92
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 909


WWW
« Ответ #11: 15 Апрель 2022, 16:35 »

tdf#148613
Записан

Владимир.
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!