BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Nacheinanderfolgende Ausführung zweier Makros

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
RBOCK
Beiträge: 7
Registriert: Mi 14. Jul 2021, 18:32

Nacheinanderfolgende Ausführung zweier Makros

Beitrag von RBOCK » Mi 12. Jan 2022, 22:17

Ich möchte gerne die beiden nachfolgenden Makros beim Start einer Base Datenbankdatei hintereinander ausführen lassen. Die Zuordnung erfolgt über Extras, Anpassen in der Formular-Ansicht der Datei zu dem Ereignis "Dokument öffnen".
Bis jetzt habe ich das Makro1 wie vorher beschrieben zugewiesen und das Makro2 analog beim Formular "Arbeitserfassung_ab_06_2021", damit es mit dem Öffnen des Formulares ausgeführt wird.

Sub Makro1
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
End Sub

Sub Makro2
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
oframe = Thiscomponent.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
End sub

In einem anderen Beitrag "Formularfeld sichtbar schalten" (viewtopic.php?f=10&t=13264&p=27849&hili ... ros#p27845) wird die Verknüpfung über ein neues Makro vorgeschlagen:

SUB BeimLadenAusfuehren
NeuerDatensatz 'Startet das Makro NeuerDatensatz.
UnsichtbarFormularstart 'Startet das Makro UnsichtbarFormularstart.
END SUB

1) Ich habe es bei mir getestet, aber es wird nur das erste Makro ausgeführt.

Sub Makrosstarten
Makro1
Makro2
End Sub

2) Wenn ich es wie folgt versuche, bekomme ich einen BASIC-Laufzeitfehler (Test_Makro_kombi1.png).

Sub FormularArbeitserfassung_ab_06_2021oeffnenundmaximieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
oDoc =ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
oframe = Thiscomponent.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
End Sub
Test_Makro_kombi1.png
Test_Makro_kombi1.png (27.73 KiB) 778 mal betrachtet
3) Wenn ich es wie folgt versuche, erhalte ich auch einen Basic-Laufzeitfehler (Test_Makro_kombi2.png) mit Objektvariable nicht belegt.

Sub FormularArbeitserfassung_ab_06_2021oeffnenundmaximieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
oframe = Thiscomponent.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
End Sub
Test_Makro_kombi2.png
Test_Makro_kombi2.png (25.56 KiB) 778 mal betrachtet
Vielen Dank Vorab.

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Nacheinanderfolgende Ausführung zweier Makros

Beitrag von RobertG » Do 13. Jan 2022, 17:39

Versuche

Code: Alles auswählen

Sub FormularArbeitserfassung_ab_06_2021oeffnenundmaximieren
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
oController= ThisDatabaseDocument.CurrentController
If NOT ( oController.isConnected() ) Then oController.connect()
oDoc = ThisDatabaseDocument.formdocuments.getbyname("Arbeitserfassung_ab_06_2021").open
oframe = oDoc.currentcontroller.frame
owin = oframe.getContainerWindow()
oWin.IsMaximized = True
End Sub
Das Hintereinander ablaufen von Makros müsste natürlich auch funktionieren. Nur ist das natürlich eine Frage, was denn in dem Moment, indem Du das Makro aufrufst, "ThisComponent" ist.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

RBOCK
Beiträge: 7
Registriert: Mi 14. Jul 2021, 18:32

Re: Nacheinanderfolgende Ausführung zweier Makros

Beitrag von RBOCK » Do 13. Jan 2022, 18:47

Hallo Robert,

wiederum vielen Dank für die schnelle Hlife. Es läuft.

MfG
RBock

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten