Dok. nach Countdown schließen. Countdown abbrechbar (W97)

15/11/2007 - 12:24 von Eric March | Report spam
Moin, Moin!

Eigentlich missbrauche ich hier Words VBA als reine Programmiersprache
ohne Word an sich zu benutzen (OK, man nimmt mit was man bekommt). Ggf.
könnte mir geraten werden die Idee in Excel (ebenso an diesem 'vorbei')
auszuführen.

Über eine Userform werden die gewünschten Ereignisse kontrolliert und
ausgelöst.
An sich könnte der letzte Befehl ActiveDokument.Close (True) lauten… Da
ich eine gewisse Rückmeldung haben will (Word ist da mit TypeText recht
handzahm und liefert mir ein Protokoll was gerade in Bearbeitung ist)
denke ich auch darüber nach im Falle von Störmeldungen (die ich
natürlich live lesen muss, keine Frage) eingreifen zu können.
Selbiges Eingreifen lohnt effektiv erst dann wenn die Aufgabe
abgearbeitet ist. Geht das Dokument zu ist auch das Protkoll weg (und
rate mal jemand was im Auto_Open steht…) Deswegen will ich die Notbremse
ziehen können.
OK, Öffnen-ohne-Makro per Shift geht, aber den Weg will ich umgehen
(Sportsgeist).

Ich stelle mir vor, das eigentliche Makro ist durch, das Protokoll
notiert und da ist was Unpàssliches drin. Dann sollen (z.B.) 10 Sekunden
vergehen bis ActiveDokument.Close (True) zuschlàgt. In diesem Countdown
(so stelle ich mir vor) klicke ich auf einen Button aus der
Steuerelemente-Toolbox (dessen Caption gleich als Countdown-Uhr dienen
könnte) und stoppe den Countdown.


Den Countdown bekomme ich grundsàtzlich hin. In einer (inneren)
DO-LOOP-Schleife werden die Sekunden erfasst (für die Button-Uhr) und
darin wàre es ein Leichtes mit ExitSub den Absprung zu schaffen.
Mein Problem (sofern es nicht gleich bessere Ideen gibt) ist wàhrend des
Makrolaufs in die Gelegenheit zu geraten den Button zu drücken. Denn
làuft der Countdown làuft VBA und làuft, und làuft, und làuft…
Wie kann man da die Reißleine implementieren?

Eric March

Kenne die Vergangenheit. In der Unwissenheit über die Vergangenheit
liegt das Verderben der Zukunft.
"Die Geschichte ist der beste Lehrmeister - mit den unaufmerksamsten
Schülern." Indira Gandhi
 

Lesen sie die antworten

#1 Helmut Weber
15/11/2007 - 15:14 | Warnen spam
Hallo Eric,

zum Beispiel:

API GetAsyncKeystate

Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState"
(ByVal vKey As Long) As Integer

Anwendung siehe hier: http://tinyurl.com/25mghr

Viel Spass
Helmut Weber, MVP WordVBA
"red.sys" & chr(64) & "t-online.de"
Word 2002, Windows 2000

Ähnliche fragen