События в BASIC

Автор Макс, 9 апреля 2024, 12:45

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

Макс

Подскажите, пож-та, в связи с переходом с VBA, как работать с событиями документа Calc? В документации не нашел сходу, может есть какие то примеры?
Например - событие которое запускает процедуру при открытии файла. Конкретного файла, т.е. код макроса находится в этом файле. Типа Workbook_Open.
А также событие, которое обрабатывает клик по ячейке, и переход на другой лист.
Мне нужно за что-то зацепиться... Спасибо!

bigor

Здравствуйте.
Смотрите Меню Лист, События листа... Там события на которые можно повесить макрос
Поддержать наш форум можно здесь

sokol92

#2
Аналогично Excel, в Calc есть события документа (в терминологии Excel - книги) и листа документа.

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

Прослушиватели событий документа добавляются через Меню / Сервис / Настройка, вкладка События.
При этом макрос обработки события документа можно сохранить как в документе, так и в библиотеке приложения (Мои макросы...). (Это удобнее, чем в Excel, где приходится использовать более сложный механизм работы с надстройками или личной книгой макросов).
В приложенном файле - аналог Workbook_open.
Кстати, разработчики LibreOffice проделали огромную работу в части обеспечения совместимости Excel и Calc. В частности, при открытии в Calc книги Excel, содержащей макрос Workbook_open, этот макрос будет запущен на исполнение.

Также есть события листов документов, о которых написал коллега @Bigor выше.

Update. Добавил документ SheetEvents.ods, в котором описаны события листа и параметры макросов их обработки, а также даны ссылки на аналогичные события Excel.

Владимир.