sub Beir Doc = ThisComponent cur = Doc.getText.createTextCursor Doc.getText.insertString(cur, "valami", false) end sub
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)
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.
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
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.
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