Si ya programaste VB en Access, te bastará una pequeña indicación para encontrar el camino.
Abres el formulario en modo diseño. Click derecho sobre cualquier control, Propiedades. En la pestaña Acontecimientos puedes asignar macros a los distintos eventos.
Click derecho sobre cualquier control, Formulario saca las propiedades del formulario. La misma pestaña Acontecimientos tiene los eventos del formulario.
A diferencia de Access (y choca al principio si vienes de ahí), la macro debe existir antes de asignarla. No puedes elegir un evento, asignarle una macro no existente y escribirla en ese momento.
Para escribir macros en StarBasic ve a Herramientas/Macros/Organizar Macros/OpenOffice.org Basic.
Desde allí, Administrar para crear primero bibliotecas en el documento, luego módulos en las bibliotecas, y finalmente macros (o diálogos) en los módulos.
En tu versión de OOo ya puedes guardar las macros en el mismo documento de Base, cosa que recomiendo. De todos modos, actualiza a 3.2 si tienes la posibilidad (o a 3.1.1 por lo menos).
Una cosa más. No esperes encontrar los mismos eventos que en Base ni que funcionen igual. Ni soñar con un OnClose cancelable para el formulario, por ejemplo.
Ejemplo de macro que va al último registro de una formulario al abrirlo:
Código: Seleccionar todo
Sub sUltimoRegistro(Event As Object)
Dim Form As Object
Form=Event.Source
If Not(Form.IsNew() Or Form.IsAfterLast()) Then Form.Last()
End Sub
Asociar al evento "Al Cargar" del formulario.
Si tienes más dudas, pregunta de nuevo.