Tartalomjegyzék

< Basic LibreOffice

Basic LibreOffice Writer

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