The eXpLorer


Application.EnableCancelKey

Sehen Sie sich einmal diese kleine Prozedur an. Betrachten Sie vor allem die ersten sechs Codezeilen, d.h. die Zeilen vor dem 'On Error GoTo ErrorHandler'. Die Eigenschaft EnableCancelKey wird zuerst auf xlErrorHandler gesetzt und dann EnableCancelKey abgefragt und im Direktfenster angezeigt.

Sub SetTheCancelKey()
  Application.EnableCancelKey = xlErrorHandler
  If Application.EnableCancelKey = xlErrorHandler Then
    Debug.Print "EnableCancelKey enthält xlErrorHandler"
  Else
    Debug.Print "EnableCancelKey enthält xlInterrupt"
  End If
  On Error GoTo ErrorHandler
  'Weiterer VBA-Programmcode...
  Exit Sub
ErrorHandler:
  MsgBox Err.Number
End Sub

Die Frage lautet nun:
Was wird im Direktfenster ausgegeben, wenn Sie die Prozedur wie gewohnt ausführen? Wird "EnableCancelKey enthält xlErrorHandler" oder "EnableCancelKey enthält xlInterrupt" angezeigt? Wenn Sie der Meinung sind, dass "EnableCancelKey enthält xlErrorHandler" erscheint, dann liegen Sie absolut richtig. Ist ja eigentlich auch logisch, weil die Eigenschaft EnableCancelKey auf xlErrorHandler gesetzt wurde.

Sie fragen sich, was das ganze soll? Na dann führen Sie mal die Prozedur im Einzelschrittmodus (F8) aus...

Zum Seitenanfang


The eXpLorer

Zuletzt aktualisiert am 3.01.2004 / 16:00 Uhr
© Copyright 2002-2004 by Philipp von Wartburg, CH-8917 Oberlunkhofen
Alle Rechte vorbehalten