End ステートメントEnd Statement

直ちに実行を終了します。Terminates execution immediately.




End ステートメントをプロシージャ内の任意の場所に配置して、アプリケーション全体の実行を強制的に停止することができます。You can place the End statement anywhere in a procedure to force the entire application to stop running. End Open ステートメントで開かれたすべてのファイルを閉じ、アプリケーションのすべての変数をクリアします。End closes any files opened with an Open statement and clears all the application's variables. オブジェクトへの参照を保持しているプログラムが他になく、そのコードも実行されていない場合、アプリケーションはすぐに終了します。The application closes as soon as there are no other programs holding references to its objects and none of its code is running.


End ステートメントは、コードの実行を突然停止し、Dispose または Finalize メソッド、またはその他の Visual Basic コードを呼び出しません。The End statement stops code execution abruptly, and does not invoke the Dispose or Finalize method, or any other Visual Basic code. 他のプログラムによって保持されているオブジェクト参照は無効になります。Object references held by other programs are invalidated. End ステートメントが Try または Catch ブロック内で検出された場合、コントロールは対応する Finally ブロックに渡されません。If an End statement is encountered within a Try or Catch block, control does not pass to the corresponding Finally block.

Stop ステートメントは実行を中断しますが、Endとは異なり、コンパイル済みの実行可能 (.exe) ファイルに存在しない限り、ファイルは閉じられず、変数はクリアされません。The Stop statement suspends execution, but unlike End, it does not close any files or clear any variables, unless it is encountered in a compiled executable (.exe) file.

End は、開いている可能性のあるリソースには参加せずにアプリケーションを終了するため、使用する前に、正常に終了するようにしてください。Because End terminates your application without attending to any resources that might be open, you should try to close down cleanly before using it. たとえば、アプリケーションでフォームが開いている場合は、コントロールが End ステートメントに到達する前に、それらを閉じる必要があります。For example, if your application has any forms open, you should close them before control reaches the End statement.

End は、すぐに停止する必要がある場合にのみ使用してください。You should use End sparingly, and only when you need to stop immediately. プロシージャを終了する通常の方法 (Return ステートメントステートメントとExit ステートメント) は、プロシージャを正常に終了するだけでなく、呼び出し元のコードが正常に終了する機会を与えることもできます。The normal ways to terminate a procedure (Return Statement and Exit Statement) not only close down the procedure cleanly but also give the calling code the opportunity to close down cleanly. たとえば、コンソールアプリケーションは、単純に Main プロシージャから Return できます。A console application, for example, can simply Return from the Main procedure.


End ステートメントは、System 名前空間の Environment クラスの Exit メソッドを呼び出します。The End statement calls the Exit method of the Environment class in the System namespace. Exit には UnmanagedCode のアクセス許可が必要です。Exit requires that you have UnmanagedCode permission. そうしないと、SecurityException エラーが発生します。If you do not, a SecurityException error occurs.

その後に追加のキーワードが続く場合は、 end <キーワード > ステートメントによって、適切なプロシージャまたはブロックの定義の最後まで記述ます。When followed by an additional keyword, End <keyword> Statement delineates the end of the definition of the appropriate procedure or block. たとえば、End FunctionFunction プロシージャの定義を終了します。For example, End Function terminates the definition of a Function procedure.


次の例では、End ステートメントを使用して、ユーザーから要求された場合にコードの実行を終了します。The following example uses the End statement to terminate code execution if the user requests it.

Sub Form_Load()
    Dim answer As MsgBoxResult
    answer = MsgBox("Do you want to quit now?", MsgBoxStyle.YesNo)
    If answer = MsgBoxResult.Yes Then
        MsgBox("Terminating program")
    End If
End Sub

スマートデバイスの開発者向けメモSmart Device Developer Notes

このステートメントはサポートされていません。This statement is not supported.

関連項目See also