18 мая 2008

OpenOffice макросы.Вставляем дату.

В ворде я обычно на скоряки писал макросы типа: Отформатировать
документ перед печатью... Начав писать документ в OpebOffice я
столкнулся с тем как вставить фиксированную дату.
Сначала не знал как ее вообще вставить, Оказалось надо сделать так:
Insert-Fields-Other-Date-DateFixed
В Ворде кстати я писал только макрос на VBA.
В OpenOffice можно писать макросы хоть на чем? Python JavaScript VBA
Конечно это необычно, но потенциально - КРУТО!
Макрос я записал без особых проблемм.
Создал новый ToolBar и туда поместил иконку с моим макросом(что
делается немного путано).
Все вроде ура!
Еле нашел свой макрос- просто посмотреть и увидел нечто страшное на
Бейсике.
sub InsertFixedDate
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(5) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Type"
args1(0).Value = 0
args1(1).Name = "SubType"
args1(1).Value = 0
args1(2).Name = "Name"
args1(2).Value = ""
args1(3).Name = "Content"
args1(3).Value = "0"
args1(4).Name = "Format"
args1(4).Value = 5079
args1(5).Name = "Separator"
args1(5).Value = " "

dispatcher.executeDispatch(document, ".uno:InsertField", "", 0, args1())


end sub

Судя по всем создается труктура, которая отдается на съедание какому
обработчику.
Структура видимо хранит какие-то данные видимо то куда я лазил в
меню, но я тут не заметил похожих слов даже.
Вообщем это напрягло.
А так - маладцы.
Интересно это совместимо с Microsoft ?


Видеочат рулетка