方法 : Visual Basic で、シリアル ポートに接続されているモデムをダイヤルする
更新 : 2007 年 11 月
このトピックでは、Visual Basic で My.Computer.Ports を使用してモデムをダイヤルする方法を説明します。
通常、モデムはコンピュータのいずれかのシリアル ポートに接続されています。アプリケーションがモデムとやり取りするためには、適切なシリアル ポートにコマンドを送信する必要があります。
モデムをダイヤルするには
モデムが接続されているシリアル ポートを確認します。この例では、モデムが COM1 に接続されていることを前提としています。
My.Computer.Ports.OpenSerialPort メソッドを使用して、ポートへの参照を取得します。詳細については、「My.Computer.Ports.OpenSerialPort メソッド」を参照してください。
Using ブロックを使用すると、アプリケーションが例外を生成した場合でも、シリアル ポートを閉じることができます。シリアル ポートを操作するコードは、このブロックまたは Try...Catch...Finally ブロック内に記述する必要があります。
Using com1 As IO.Ports.SerialPort = _ My.Computer.Ports.OpenSerialPort("COM1", 9600) End Using
DtrEnable プロパティを設定し、コンピュータがモデムからの伝送を受け取る準備ができたことを通知します。
com1.DtrEnable = True
Write メソッドを使用して、ダイヤル コマンドと電話番号をシリアル ポート経由でモデムに送信します。
com1.Write("ATDT 555-0100" & vbCrLf)
使用例
Sub DialModem()
' Dial a number via an attached modem on COM1.
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1", 9600)
com1.DtrEnable = True
com1.Write("ATDT 555-0100" & vbCrLf)
' Insert code to transfer data to and from the modem.
End Using
End Sub
このコードの例は、IntelliSense コード スニペットとしても利用できます。コード スニペット ピッカーでは、これは [接続とネットワーク] にあります。詳細については、「方法 : コードにスニペットを挿入する (Visual Basic)」を参照してください。
コードのコンパイル方法
この例では、System 名前空間への参照が必要です。
堅牢性の高いプログラム
この例では、モデムが COM1 に接続されていることを前提としています。作成するコードでは、利用可能なシリアル ポートの一覧から、目的のポートをユーザーが選択できるようにすることをお勧めします。詳細については、「方法 : Visual Basic で利用可能なシリアル ポートを表示する」を参照してください。
この例では、アプリケーションが例外をスローした場合でもポートが閉じられるよう、Using ブロックを使用しています。詳細については、「Using ステートメント (Visual Basic)」を参照してください。
この例では、アプリケーションは、モデムをダイヤルした後でシリアル ポートを切断しています。実際には、モデムとの間でデータの転送が必要となります。詳細については、「方法 : Visual Basic でシリアル ポートから文字列を受信する」を参照してください。
参照
処理手順
方法 : Visual Basic でシリアル ポートに文字列を送信する
方法 : Visual Basic でシリアル ポートから文字列を受信する
方法 : Visual Basic で利用可能なシリアル ポートを表示する