方法 : Visual Basic で、シリアル ポートに接続されているモデムをダイヤルする

更新 : 2007 年 11 月

このトピックでは、Visual Basic で My.Computer.Ports を使用してモデムをダイヤルする方法を説明します。

通常、モデムはコンピュータのいずれかのシリアル ポートに接続されています。アプリケーションがモデムとやり取りするためには、適切なシリアル ポートにコマンドを送信する必要があります。

モデムをダイヤルするには

  1. モデムが接続されているシリアル ポートを確認します。この例では、モデムが COM1 に接続されていることを前提としています。

  2. 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
    
  3. DtrEnable プロパティを設定し、コンピュータがモデムからの伝送を受け取る準備ができたことを通知します。

    com1.DtrEnable = True
    
  4. 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 で利用可能なシリアル ポートを表示する

参照

My.Computer.Ports オブジェクト

System.IO.Ports.SerialPort