COM1に割り当てたUSB接続のRS-232C 1ポートタイプ COM-1(USB)H で、COMポートのオープン処理とクローズ処理、例外処理を行うプログラム例です。
Visual Basic 2005を立ち上げ、新しいプロジェクトを作成し、左図のような画面を作成します。SerialPortコンポーネントを画面に貼り付けます。SerialPortコンポーネントのプロパティの内容を確認します(ボーレートなどの通信設定)。
例外処理を行わないと例外エラーが発生した場合、アプリケーションは強制終了してしまいます。それを回避するために例外処理を行います。例外処理を行うとアプリケーションは強制終了しません。左図は、例外処理が発生した場合にメッセージボックスを表示し警告を行った場合の例です。
接続ボタン、切断ボタンクリック時の処理を追加します。Form1.vbに以下のコードを記述します。各オブジェクト(ボタンなど)をダブルクリックすると、ボタンならば、ボタンが押された時の処理を記述するプロシージャが開きます。そこに行いたい処理を記述していきます。
Private Sub Button1_Click(… → 接続ボタンが押されたときの処理 SerialPort1.PortName = TextBox1.Text 'オープンするポート名を格納 SerialPort1.Open() 'ポートオープン End Sub
Private Sub Button2_Click(… → 切断ボタンが押されたときの処理 If SerialPort1.IsOpen = True Then 'ポートオープン済み SerialPort1.Close() 'ポートクローズ End If End Sub
上記コードに例外処理の追加と、例外エラーの内容の表示を追加した場合の記述例で
Private Sub Button1_Click(… → 接続ボタンが押されたときの処理 Try '例外処理のはじまり If SerialPort1.IsOpen = True Then 'ポートはオープン済み MessageBox.Show("エラー", MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End If SerialPort1.PortName = TextBox1.Text 'オープンするポート名を格納 SerialPort1.Open() 'ポートオープン Catch ex As Exception '例外処理 MessageBox.Show(ex.Message, "エラー", MessageBoxButtons.OK,MessageBoxIcon.Error) End Try End Sub
Try - Catch - End Try構文については、Visual Basic 2005のリファレンスで確認ください。