Получить Cобытия документа

Автор convas, 12 июня 2010, 11:26

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

convas

В Сервис-Настройка-События перечислены некоторые События документа.

1. Как в макросе определить, что выполняется данное событие?

2. Как из макроса вызвать это событие?



[вложение удалено Администратором]

dr.Faust

1 В фоне определить? Или запустить по событию? Если в фоне, то нет ничего хорошего в том что у вас так длительно работает макрос в качестве демона - лучше другое решение поискать. Если запустить по событию, то вверху есть кнопка Макрос... - можно подписатся на это событие.
2 Через диспетчер.
Свобода информации - свобода личности!

convas

#2
2. Как через диспетчер? Предположим, что мне в макросе нужно сначала "Деактивизировать документ", а потом "Актививизировать документ".

dr.Faust

Активировать видимо как-то так:

Sub PasteFromDispatcher
   ' Вставка данных из буфера обмена
   Dim oFrame As Object
   Dim oDispath As Object
   ' Получаем фрейм документа
   oFrame      = ThisComponent.CurrentController.Frame
   ' Создаём диспетчер
   oDispath   = createUnoService("com.sun.star.frame.DispatchHelper")
   ' Выполняем действие
   oDispath.executeDispatch(oFrame, ".uno:Activate", "", 0, Array())
End Sub

А диактивировать видимо никак ибо это псевдо действие - в реальности деактивирование - это активирование другого документа.

Кстати, а зачем?
Свобода информации - свобода личности!