< Basic LibreOffice

Basic LibreOffice Writer

Szerző: Sallai András

Copyright © 2011, Sallai András

Szerkesztve: 2011, 2013

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Szöveg beszúrása

sub Beir Doc = ThisComponent cur = Doc.getText.createTextCursor Doc.getText.insertString(cur, "valami", false) end sub

Fájl megnyitása, új fájl

Set oSM = CreateObject("com.sun.star.ServiceManager") Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop") Dim args() rem Meglévő dokumentum megnyitása Set oDoc = oDesk.loadComponentFromURL("file:///h:\oraimunka\szovegszerkesztes\10e\20120213\LoreIpsumKonyv.odt", "_blank", 0, args()) rem Új dokumentum nyitása Set objDocument= oDesk.loadComponentFromURL("private:factory/swriter","_blank", 0, args)

Szövegdoboz

Kontrollok

A komponensek vagy kontrollok elhelyezéséhez űrlapot hozunk létre. Először tervezzük meg az űrlapot. Szükségünk van az űrlap vezérlőelemekre:

Nézet -> Eszköztárak -> Űrlap-vezérlőelemek

Az űrlap-vezérlőelemek eszköztár egy külön kis, kétoszlopos ablakban nyílik meg. A jobb felső ikonnal lehet a tervezőmódot ki és bekapcsolni.

Helyezzünk el először egy „Nyomógomb”-ot. Az ikonok felet mozgatva az egeret a gyorstippekben tájékozódhatunk a kontrollokról.

Ezek után helyezzünk el egy szövegdobozt.

Makró

Készítsük el a makrót.

Eszközök -> Makrók -> Makrók rendezése -> LibreOffice Basic...

A „Basci-makrók” ablakban a „Makrók forrása” részben állítsuk be hova szeretnénk menteni a makrót. Válasszuk a dokumentumot.

A makrók modulokba vannak rendezve, a modulok könyvtárakba. Mindig van egy alapértelmezett könyvtár, amelynek neve „Standard”. Jelöljük ki, majd jobboldalon válasszuk az „Új” gombot.

Az előugró párbeszédablakban beállíthatjuk az új modulunk nevét, amely alapértelmezetten:

Modul1

Ekkor a LibrOffice Basic ablak ugrik elénk, amelyben van egy alapértelmezett eljáráskezdemény:

<code4gl> REM * BASIC *

Sub Main

End Sub </code>

Ezt javítsuk az alábbiak szerint:

Global oForm As Object Global oDoc as Object Global doboz As Object sub InitOnLoad oDoc = ThisComponent oForm = oDoc.DrawPage.Forms.GetByName("Űrlap") doboz = oForm.GetByName( "doboz1" ) end sub sub Leker Dim a As Integer a = doboz.Text doboz.Text = a + 2 end sub

Esemény kezelése

Jelöljük ki a nyomógombot, majd az Űrlap-vezérlőelemek ablakban válassza a „Vezérlőelem” ikont. Az előugró ablakban, válasszuk az „Események” fület.

Kattintsunk bármely három pontot tartalmazó gombra az előugró ablakban.

Az újabb ablakban válasszuk ki a kezelendő eseményt, majd „Makró” gombra kattintva keressük ki a megírt makrót.

Kontrollok

Felirat szövege

Sub Main doc = Thiscomponent docCrl = doc.CurrentController form = doc.DrawPage.Forms.GetByName("Űrlap") cimke = form.getByName("cimke1") CimkeCrl = docCrl.getControl(cimke) cimkeCrl.setText("árvíztűrő") End Sub