Nacheinanderfolgende Ausführung zweier Makros
Verfasst: 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
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.
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.