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
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
Vielen Dank Vorab.
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Nacheinanderfolgende Ausführung zweier Makros
Re: Nacheinanderfolgende Ausführung zweier Makros
Versuche
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
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
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
Re: Nacheinanderfolgende Ausführung zweier Makros
Hallo Robert,
wiederum vielen Dank für die schnelle Hlife. Es läuft.
MfG
RBock
wiederum vielen Dank für die schnelle Hlife. Es läuft.
MfG
RBock
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.