Zweites Macro soll erst starten wenn erstes Macro fertig ist

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

Moderator: Moderatoren

euroandi
**
Beiträge: 30
Registriert: Sa, 11.03.2006 16:32

Zweites Macro soll erst starten wenn erstes Macro fertig ist

Beitrag von euroandi »

Hallo,

ich lasse Macros mit Tastaturkombinationen abarbeiten, jetzt habe ich das Problem, daß wenn man zu schnell das zweite Macro drückt das erste nicht vollständig abgearbeitet wird.
Kennt jemand einen Programmierbefehl der das zweite Macro warten läßt bis das erste fertig ist?

Gruß
Andreas
suavito
***
Beiträge: 54
Registriert: So, 19.12.2004 13:12

Beitrag von suavito »

Hallo euroandi,

ich gestehe, daß ich keiner der Experten hier im Forum bin und auch noch nie mit Deinem Problem zu tun hatte - obwohl ich auch fast ausschließlich Makros über Tastaturbefehle starte -, aber mir ist gerade, als ich Dein posting las, etwas eingefallen. Ob das funktioniert und sinnvoll ist, müßtest Du halt ausprobieren:

Wie wäre es, wenn Du eine globale Variable namens makro_at_work (oder wie auch immer Du sie nennen willst) definierst, und zwar als boolean.

Standardmäßig stünde sie auf false, und jedes Makro würde sie nun beim Start auf true setzen und bei Beenden wieder auf false.

Bevor ein Makro das aber tut oder irgendwas sonst, müßte es die Variable checken und im Falle true warten und nach einer Weile wieder checken, ob sie mittlerweile auf false gesetzt ist.

Einmal abfragen am Anfang ist kein Problem. Aber wie würde man das machen, mehrfach abzufragen? In welchen Zeitabständen? Und ab wieviel Versuchen/Zeit würde das Makro abbrechen (diese Option müßte auf jeden Fall enthalten sein)? Das wäre der schwierige Part dieser Lösung.

Du könntest auch nach der Abfrage von makro_at_work und dem Ergebnis true auch einfach nichts machen, aber ob das in Deinem Sinne wäre? Das ist ja dann kein Warten mehr, sondern einfach ein Nichtstarten des zweiten Makros. Zumindest solltest Du dann ein beep ausgeben, damit Du (oder ein anderer user) weiß, daß das zweite Makro im Moment nicht gestartet werden kann.

Wobei ich es andersherum halte: Ich habe einen alten PC und verwende häufig ein umfangreiches Makro und lasse das am Ende beepen, damit ich weiß, daß ich weiterarbeiten kann.

Hilft Dir das oder waren das zu simple Vorschläge?
kannenklaus
*****
Beiträge: 319
Registriert: Mi, 14.12.2005 08:08
Wohnort: freising - oder dort, wo das bier herkommt

Beitrag von kannenklaus »

hallo euroandi

versuch es doch mal so:

Code: Alles auswählen

sub MakrosStarten
call makro1'makro1 für dein erstes makro
wait (120)
call makro2'makro1 für dein erstes makro
end Sub
grüße

klaus
suavito
***
Beiträge: 54
Registriert: So, 19.12.2004 13:12

Beitrag von suavito »

Das wäre aber nur eine Lösung, wenn die beiden Makros immer aufeinander folgen. In diesem Falle läge überhaupt kein Problem vor, weil ja alles brav nacheinander abgearbeitet würde und auch wait wäre überflüssig.

Aber euroandi, wenn ich ihn richtig verstanden habe, geht es doch darum, daß zwei (oder mehr) Makros UNABHÄNGIG voneinander gestartet werden durch Tastenkombinationen und das zweite dann den Ablauf des ersten unterbricht.
euroandi
**
Beiträge: 30
Registriert: Sa, 11.03.2006 16:32

Zweites Macro soll erst starten wenn erstes Macro fertig ist

Beitrag von euroandi »

Hallo zusammen,
ich möchte 30 verschieden Macros in unterschiedlicher Reihenfolge abarbeiten lassen.
Bei Excel ist das kein Problem da Excel die zuschnell gedrückten Tasten in eine Warteschlange packt.

Gruß
Andreas
Antworten