VBAのEnableCancelKeyプロパティ
こちらでは、エクセルVBAのEnableCancelKeyプロパティの解説になります。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
目次
EnableCancelKeyプロパティ
EnableCancelKeyプロパティは、Windows 版 Excel の場合は、Ctrl + Break キー、Esc キーによる、実行中のプロシージャに対するユーザーの割り込みの処理を指定します。値の取得および設定が可能です。XlEnableCancelKey クラスの定数を使用します。
expression.EnableCancelKey
expression 必ず指定します。対象となるオブジェクトへの参照を返すオブジェクト式を指定します。
EnableCancelKey プロパティは慎重に使用してください。このプロパティに xlDisabled を設定すると、無限ループのような、自ら停止しないプロシージャの場合は止めることができなくなります。また、xlErrorHandler を設定すると、エラー処理ルーチンが Resume ステートメントで制御を戻すだけのものの場合はそのプロシージャを止めることができなくなります。
実行中のプロシージャがなく、Excel が待機状態にある場合は、常に EnableCancelKey プロパティの値は xlInterrupt になります。取り消しキーをトラップしたり、無効にしたりするには、プロシージャの実行のたびに明示的に EnableCancelKey プロパティに設定しなければなりません。
次の使用例は、EnableCancelKey プロパティを使って、独自のキャンセル処理ルーチンを定義する方法を示しています。
On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
MsgBox "この処理には時間がかかります。キャンセルするには Esc キーを押してください。"
For x = 1 To 1000000 ' 1,000,000 回繰り返す。
' 繰り返す処理を記述します。
Next x
handleCancel:
If Err = 18 Then
MsgBox "キャンセルしました。"
End If
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。