Lav en form i LibreOffice Calc med Basic

Her vil jeg vise dig hvordan du laver en formular i LibreOffice Calc med Basic, så du kan arbejde med controls i den.

Jeg har tidligere skrevet om hvordan du indsætter controls i et LibreOffice Calc regneark. Jeg viste dig også hvordan du tilknyttede en makro til fx. en knap som du indsatte. Nu vil jeg prøve at vise dig hvordan du laver en form (formular) i LibreOffice Calc. En form hedder i LibreOffice dialogs.

Dem opretter du ved at vælge Tools -> Macros -> Organize Dialogs. Vælg her fanen “Dialogs” og tryk så på New for at oprette en dialog. Kald den et bestemt navn, fx. “Form1”, og tryk OK.

For at ændre formen trykker så “Edit”. Dette åbner et vindue, hvor du kan redigere formen. Du kan for eksempel indsætte controls i bunden.

Du kan for eksempel indsætte et tekstfelt og en knap som nedenunder:

Når du vælger en control kan du til venstre under “General” sætte forskellige egenskaber for controlen, som fx. dens navn og dens tekst. Vælger du fanen Events kan du vælge hvad der skal ske fx. når du trykker på en knap. Denne event hedder Execute action og du vælger den ved at trykke på de tre prikker til højre.

Her kan jeg fx. sætte den til den makro der hedder Main og som var standard i modulet. Under dens kode skriver jeg så:

Sub Main
 MsgBox "Hello World"
End Sub

Dette betyder at når der trykkes på knappen vises der en dialogboks hvor der står “Hello world”.

Til slut vil jeg lige vise koden der skal skrives for at åbne formen “Form1”. Jeg vender derfor tilbage til makroen “Test1” fra forrige artikel, hvor jeg derfor vil have at når der klikkes på knappen ude i regnearket åbnes formen. Her skriver jeg så koden:

Sub Test1
 BasicLibraries.LoadLibrary("Tools")
 oDialog1 = LoadDialog("Standard", "Form1")
 oDialog1.Execute()
End Sub

For at opsummere, så har jeg indsat en knap i selve regnearket. Denne har jeg tilknyttet til makroen “Test1”. I dens kode har jeg fortalt at “Form1” skal åbnes. Her findes også en knap, som er tilknyttet til makroen “Main”. I dens kode fremgår at der skal vises en dialogboks hvor der står “Hello World”.

Når jeg trykker på knappen ude i regnearket åbnes altså først formen. Når jeg så igen trykker på knappen på formen skrives der “Hello World”. Det ser således ud:

Nu ved du hvordan du indsætter controls både i et regneark og på en form. Jeg har også vist hvordan man åbner formen og tilknytter makroer til forskellige controls. Hvis du har nogle spørgsmål til dette er du velkommen til at skrive en kommentar.

Skriv et svar