[makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

[makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Beitrag von opiWahn »

Hallo,

ist es möglich, und wenn ja wie, in ein anderes Modul zu springen wenn eine Bedingung erfüllt ist?
Ich habe eine Hauptform mit den grundlegenden Funktionen im Modul "Auftrag".
Beim Speichern (ausgehend vom Modul "Auftrag") soll nun geprüft werden, ob Unterformulare hinzu gefügt wurden und wenn ja, dann die dazu gehörigen Module "Pruefform_TT" bzw. "Pruefform_VT" abgearbeitet werden. Diese Subform-Module haben nur den Zweck zu prüfen, ob in der dazu gehörigen Form alle "Kreuze" dort gemacht wurden, wo sie erwartet werden.
Dateianhänge
2.PNG
2.PNG (47.33 KiB) 665 mal betrachtet
1.PNG
1.PNG (45.36 KiB) 665 mal betrachtet
Grüße
opiWahn
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: [makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Beitrag von Stephan »

ist es möglich, und wenn ja wie, in ein anderes Modul zu springen wenn eine Bedingung erfüllt ist?
Nein, bzw. ich verstehe die Frage nicht, denn genauso wie niemals das im Screenshot sichtbare Modul "Auftrag" 'angesprungen' (besser gesagt ja wohl abgearbeitet) werden kann, sondern immer nur Makros (z.B. "clearForm") gilt das auch für jegliche andere Module, denn niemals sind diese anspringbar sondern nur dort enthaltene Makros, welche 'nomal' anzusprechen sind, also über ihre 'Adresse' aus sIcht des aufrufenden Makros. Ist Letzteres in derselben Bibliothek ist der Aufruf (in Langform) <Modulname>.<Makroname>, z.B. auftrag.clearForm


Gruß
Stephan
Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

Re: [makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Beitrag von opiWahn »

Hallo Stephan,

Danke für den Tipp:
Stephan hat geschrieben:<Modulname>.<Makroname>, z.B. auftrag.clearForm
Mir war nicht klar, daß auch hier OO gegeben ist.
Wie kann ich abfragen ob eine der Folgeseiten "subform_TT" bzw "subform_VT" heißt und beziehe ich mich dann auf alle Seiten die den jeweiligen Namen tragen egal an welcher Stelle sie stehen bzw. wie oft sie vorhanden sind?
Bspw. in der Art

Code: Alles auswählen

 
oTTForm = thisComponent.drawpage.forms.GetByName("subForm_TT")
oVTForm = thisComponent.drawpage.forms.GetByName("subForm_VT")
if exist oTTForm then
Pruefform_TT.proofAllOptGrp
elseif exist oVTForm then
Pruefform_VT.proofAllOptGrp
else
...
end if
Grüße
opiWahn
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: [makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Beitrag von Stephan »

Mir war nicht klar, daß auch hier OO gegeben ist.
verstehe ich nicht was diese Aussage meint.
Wie kann ich abfragen ob eine der Folgeseiten "subform_TT" bzw "subform_VT" heißt und beziehe ich mich dann auf alle Seiten die den jeweiligen Namen tragen egal an welcher Stelle sie stehen bzw. wie oft sie vorhanden sind?
Verstehe ich das ganze Thema nicht, der ursprüngliche Screenshot zeigte eine Makrobibliothek in einem Dokument, welche 3 Module enthält, darauf bezog sich meine Antwort (nicht auf Drawpages und/oder 'Folgeseiten').



Gruß
Stephan
Benutzeravatar
opiWahn
***
Beiträge: 91
Registriert: Mo, 21.03.2011 15:47
Wohnort: zw. KL und NW

Re: [makro] Anderes Modul abarbeiten wenn Bedingung erfüllt

Beitrag von opiWahn »

Hi,

mit OO war objektorientiert gemeint ...

Was die Folgeseiten betriftt: es handelt sich hierbei um einenständige Formulare, die ich via Makro jeweils am Hauptdokument anfüge.
Nun möchte ich, ausgehend vom Hauptdokument, überprüfen ob und welche dieser Unterformulare angehängt wurden und diese ggf. auf deren Vollständigkeit prüfen bevor das Ganze gespeichert wird. Auf der vermeintlichen Seite 1 funktioniert das ganze erwartungsgemäß, da die Prüfroutinen in im Modul "Auftrag" stehen. Die Prüfroutinen für subform_TT bzw. _VT stehen in den Modulen Pruefform_TT bzw. _VT.
Grüße
opiWahn
Antworten