Umsteigen auf OpenOffice: Von VBA zu OpenOffice-Basic

VBA versus OOo-Basic

In diesem Artikel zeigen wir am Beispiel eines Reporting-Tools für StarCalc in OpenOffice.org, welche Ähnlichkeiten, Vorteile und Nachteile OOo-Basic gegenüber VBA bietet. Dabei stehen als zentrale Elemente der Sprachkern, Dialoge und der Zugriff auf OOo-Calc im Vordergrund.

Das fertige Reporting-Tool finden Sie auf der CD herunterladen. Es ist sehr einfach aufgebaut:

Dialoge

An ein Calc-Dokument soll ein Dialog gebunden werden. Über Extras / Makros / Makro gelangen Sie in den Basic-Editor, wo Sie einen neuen Dialog erstellen. Im Gegensatz zu VBA finden sich dort mehr Steuerelemente: Datumsfelder, nummerische Felder, Fortschrittsbalken oder Dateiauswahlfelder, um nur einige zu nennen. Die Eigenschaften werden – ähnlich wie in VBA – über ein Feld festgelegt.

Um nun den Dialog zu starten, erstellen Sie in einem Modul ein Makro mit folgenden Befehlen:

Public Dlg As Object
Sub Start
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.dlgVerkaeufer)
Dlg.Execute()

Dabei ist „Standard“ die Bibliothek, in der sich der Dialog befindet (es kann selbstredend auch eine andere Bibliothek sein), und dlgVerkaeufer, der Name des Dialogs.