Hallo zusammen,
ich arbeite gerade an einer Datenbank mit mehreren Formularen. In diese Formulare möchte ich Schaltflächen integrieren, die folgende Funktionen ausführen:
- Formularbasierte Suche starten.
- Suchanfrage ausführen.
- Suche beenden bzw. schließen.
Die ersten, so wie dir dritte Schaltflächen funktionieren einwandfrei, aber die Schaltfläche für die Durchführung der Suche führt das zugehörige Makro nicht aus, wenn ich sie betätige.
Hier ist das Makro, das eigentlich ausgeführt werden soll:
Sub SucheAusfuehren(sfSuchZurueck As String, SuchForm As String)
' Variablen definieren
Dim document As Object
Dim dispatcher As Object
' Zugriff auf das aktuelle Dokument
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' Filter ausführen
dispatcher.executeDispatch(document, ".uno:FormFilterExecute", "", 0, Array())
' Schaltfläche aktivieren
ButtonAktivieren(sfSuchZurueck, SuchForm, True)
End Sub
Ich habe das Makro bisher auf folgende Arten zu starten versucht:
1. **Direkte Zuweisung zur Schaltfläche:** Das Makro wird
nicht ausgeführt, wenn ich die Schaltfläche anklicke.
2. **Manuelles Starten über Extras → Makros → Makro ausführen:**
Das Makro läuft problemlos und macht genau das, was es soll.
3. **Starten über ein anderes Makro:** Ich habe versucht,
das Makro in ein übergeordnetes Start-Makro zu integrieren, in dem auch
die Schaltfläche zum Beenden der Suche aktiviert wird. Leider wird
das Start-Makro hierbei ebenfalls nicht ausgeführt.
Ich arbeite mit **Windows 11 Pro** und **LibreOffice 24.8.3**.
Hat jemand eine Idee, woran das liegen könnte oder wie ich das Problem lösen kann?
Vielen Dank im Voraus für eure Unterstützung!
Viele Grüße
Peter