Anzeige
Archiv - Navigation
1512to1516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Start Marko mit Tastendruck unterbrechen

Start Marko mit Tastendruck unterbrechen
18.09.2016 18:03:59
Bernd
Hallo zusammen,
ich habe ein spezielles Problem, an dem ich schon den ganzen Nachmittag tüftele, aber aufgrund mangelnder VBA Kenntnisse nicht weiterkomme.
Hier die beiden kurzen VBA Codes:
Public Sub Workbook_Open()
Call StartZeitGeber
End Sub
Public Sub StartZeitGeber()
Application.OnTime Now + TimeValue("0:0:5"), "Makro_Automatik"
End Sub

Die Routine "Workbook_Open" wird auch wunderbar nach 5 Sekunden ausgeführt.
Die Verzögerung von 5 Sekunden habe ich einprogrammiert, damit ich das Makro unterbrechen kann mit einem Tastendruck bevor das "Makro Automatik" startet.
Ich will zusammengefasst folgendes:
Wenn die Routine "Workbook open" startet, dann möchte ich 5 Sekunden Zeit haben, um z.B. mit der ESC-Taste (oder auch eine andere beliebige Taste) das Makro abzubrechen. Wenn innerhalb dieser Zeit keine ESC-Taste (oder auch eine andere beliebige Taste)gedrückt wird, soll das Makro weiterlaufen, d.h. das Makro "Makro Automatik´" wird gestartet.
Ich hoffe, mir kann jemand mit sachdienlichem Rat den Code verraten und mir kurz Schreiben, was ich in VBA programmieren muss.
Besten Dank vorab
Bernd

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Start Marko mit Tastendruck unterbrechen
18.09.2016 18:37:48
Bastian
Halli Hallo
So könntest du das machen
Mit ESC wird dein Makro nicht ausgeführt
Gruß Basti

Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long
Private Const VK_ESCAPE = &H1B ' ESC Taste
Public Sub StartZeitGeber()
Dim RetVal As Long
Application.Wait Now + TimeValue("0:0:2")
RetVal = GetAsyncKeyState(VK_ESCAPE)
If Not CBool(RetVal) Then
Call Makro_Automatik
End If
End Sub
Sub Makro_Automatik()
MsgBox "Nicht ESC gedrückt =("
End Sub

AW: Start Marko mit Tastendruck unterbrechen
18.09.2016 19:55:59
Bastian
Oder so
Gruß Basti

Public Sub Workbook_Open()
Dim objShell As Object
Dim JANEIN As Long ' JA = 6 NEIN= 7
Set objShell = CreateObject("WScript.Shell")
JANEIN = objShell.Popup("Wollen Sie den Vorgang abbrechen ?", 4, "ABBRUCH", 4)
If Not JANEIN = 7 Then
Call Makro_Automatik
End If
Set objShell = Nothing
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige