Запуск макроса для либре врайтера на ЯП Питон по клику ПКМ

Автор Ципихович Эндрю, 25 февраля 2026, 13:30

0 Пользователи и 1 гость просматривают эту тему.

bigor

Поддержать наш форум можно здесь

Ципихович Эндрю

bigor, Мастер, спасибо за ответ, но я НЕ понимаю, это что на картинке? ответ=месседж при ЛКМ? ну если так, каким макросом Вы этого ответа добились?

mikekaganski

Цитата: Ципихович Эндрю от  6 марта 2026, 07:37я НЕ понимаю, это что на картинке? ответ=месседж при ЛКМ? ну если так, каким макросом Вы этого ответа добились?

Мда. Действительно,
Цитата: Ципихович Эндрю от  5 марта 2026, 20:05я то и по-русски не очень

Есть такая штука - контекст. Ответ bigor содержит ссылку на Ваше
Цитата: Ципихович Эндрю от  5 марта 2026, 21:48можно подробностей?

которое, в свою очередь ведёт к ответу bigor на Ваше
Цитата: Ципихович Эндрю от  5 марта 2026, 09:17опробовал-ничего не происходит во врайтере

а уж оно было в ответ на
Цитата: sokol92 от  4 марта 2026, 18:02Вот измененный Ваш макрос ...

Ну или суммируя:

- Вот Вам макрос, который выдаёт сообщение
- У меня не выдаёт
- Вот скриншот сообщения, которое у меня этот макрос выдаёт по ЛКМ
- Каким макросом Вы этого добились?

Facepalm.
С уважением,
Михаил Каганский

Ципихович Эндрю

Вот Вам макрос, который выдаёт сообщение-я же правильно понял, макрос в сообщении № 6?
У меня не выдаёт, и что мне от этого скриншота?
нужно разобраться почему у меня не выдаёт...
я же правильно действую - открыл либру врайтер сделал клик ЛКМ - получил картинку с поста № 15?

bigor

Цитата: Ципихович Эндрю от  6 марта 2026, 08:55я же правильно действую - открыл либру врайтер сделал клик ЛКМ - получил картинку с поста № 15?
после открыл и до сделал клик нужно еще одно действие - запустил марос
Поддержать наш форум можно здесь

Ципихович Эндрю

Цитата: bigor от  6 марта 2026, 09:02после открыл и до сделал клик нужно еще одно действие - запустил марос
спасибо - такое решение - НЕ решение, а латание дыр...

bigor

Поддержать наш форум можно здесь

Ципихович Эндрю

Цитата: bigor от  6 марта 2026, 11:42настройте автозапуск макроса
я это понял, благодаря другому топику сделал это, но проблемы НЕ заканчиваются...
установил в "Запуск приложения" нужный макрос - макрос с сообщения № 6 (я это понимаю, что далее я открыл любой файл врайтером, сделал клик ЛКМ и увидел, то что на скрине в сообщении № 15)
опробовал нет сообщения открываю настройку - настройка на месте - это в том файле, где установил эту настройку

открываю файл с нуля - его имя естественно "Без имени - 1" сделал клик ЛКМ  - нет сообщения, открываю настройку - нет этой настройки

открываю файл уже ранее сохранённый - его имя не суть... сделал клик ЛКМ  - нет сообщения, открываю настройку - нет этой настройки

может я НЕ правильно понимаю, что после сделанной настройки далее я открываю любой файл врайтером, сделаю клик ЛКМ и увижу, то что на скрине в сообщении № 15, а как понимать настройку "Запуск приложения"? спасибо


sokol92

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

1. Для неопределенного круга лиц.
В этом случае правильно встроить макросы в этот файл. Тогда у любого пользователя файл будет корректно обрабатываться (при условии, что он разрешит выполнение макросов).

2. Для личного использования или использование определенным кругом лиц.
В этом случае наряду с вариантом 1 Вы можете разработать расширение на языке Python (этот вариант требует специальных знаний).
Альтернатива - добавить свои модули на Python в область пользователя, предусмотреть их автоматическую загрузку при запуске LibreOffice. В самом модуле нужно установить слушатель, который перехватывает открытие (и/или создание) всех документов и устанавливает для документа соответствующие слушатели. Сложный путь, требующий специальных знаний (кстати так же, как и создание надстроек для Excel).

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



Владимир.

Ципихович Эндрю

благодаря разработчикам врайтера в настройках в "События" имею:
1 Запуск приложения
2-5
6 Открытие файла
я понимаю, что 1<>6 и Запуск приложения<>Открытие файла
это к слову..
Цитата: sokol92 от  7 марта 2026, 16:321. Для неопределенного круга лиц.
В этом случае правильно встроить макросы в этот файл. Тогда у любого пользователя файл будет корректно обрабатываться (при условии, что он разрешит выполнение макросов).
тут уместно сказать - что на этом же ПК!-верно?
ну так я и описал свои действия
Цитата: Ципихович Эндрю от  7 марта 2026, 14:58установил в "Запуск приложения" нужный макрос - макрос с сообщения № 6 (я это понимаю, что далее я открыл любой файл врайтером, сделал клик ЛКМ и увидел, то что на скрине в сообщении № 15)
опробовал нет сообщения открываю настройку - настройка на месте - это в том файле, где установил эту настройку
нет сообщения - имеется ввиду нет сообщения, которое продемонстрировано в посте под № 15



sokol92

Откройте прилагаемый файл.
Щелкайте в любом месте этого файла.

Владимир.

Ципихович Эндрю

sokol92-спасибо большое, работает, нужно осмыслить, глаз замылился))-тайм аут

Ципихович Эндрю

файл MouseHandler.odt и в нём макрос!
честно говоря я думал, что по аналогии с Вордом в расширении файлов либры с макросами должна быть буква "м" и иконка файла также содержит восклицательный знак "!" в треугольнике - хорошо это или плохо, что во врайтере НЕ так? сколько людей, столько и мнений....
подскажите пожалуйста
1
когда я в данном файле в настройках до него добираюсь у меня есть только две опции - Закрыть и Выполнить, а как его редактировать? - если никак... попахивает жареной картошкой (сжарили и НЕ поправить) в этом тоже есть свои + и -
2
так и НЕ понял, а как заставить макрос работать при открытии любого файла врайтером, то есть при открытии приложения "врайтер"?
спасибо

sokol92

По вопросу 1.
В настоящий момент LO содержит компоненту BasicIDE, с помощью которой можно редактировать программы на Basic.
Для просмотра и редактирования текстов программ на Python есть расширение APSO. Установите его.

По вопросу 2.
Раз Вы провели аналоги с MS Word, то вначале рассмотрим, как эта задача - прослушивание событий любого файла решается в MS Office.
1. Вначале нужно подготовить модули VBA для прослушивания. Эта процедура описана здесь.
2. Далее, нужно открыть документ, содержащий макросы, и выполнить в этом документе специальный код для инициализации процесса перехвата событий.
3. Указанный в п.2 документ будет загружаться автоматически при старте Word, если это документ Normal.dot(m) или документ является зарегистрированной надстройкой, для которой в параметрах приложения установлена опция "Загружать при запуске".

Как видно, путь в MS Word далеко не простой.

В LibreOffice "нормальным" путем считается создание расширений. Возможности расширений по интеграции c LO намного превосходят аналогичные возможности надстроек MS Word.

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

Ципихович Эндрю

sokol92, спасибо, но и до кучи по вопросу № 1
Ручное извлечение содержимого файла:
Файлы формата .odt (OpenDocument Text), используемые LibreOffice Writer, представляют собой архивы ZIP. Вы можете вручную распаковать этот архив, используя любую программу для работы с ZIP-файлами, такую как WinRAR, 7-Zip или даже стандартные средства операционной системы Linux (unzip, tar). После распаковки содержимое макросов будет находиться в директории /Scripts/python