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

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

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

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

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

  2. My.Computer.Ports.OpenSerialPort メソッドを使用して、ポートへの参照を取得します。 詳細については、「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 コード スニペットとしても利用できます。 コード スニペット ピッカーでは、これは [接続とネットワーク] にあります。 詳細については、「Code Snippets」を参照してください。

コードのコンパイル

この例では、System 名前空間への参照が必要です。

信頼性の高いプログラミング

この例では、モデムが COM1 に接続されていることを前提としています。 コードによって、利用可能なシリアル ポートの一覧から、目的のポートをユーザーが選択できるようにすることをお勧めします。 詳しくは、「方法: 利用可能なシリアル ポートを表示する」をご覧ください。

この例では、アプリケーションが例外をスローした場合でもポートを閉じられるよう、Using ブロックを使用しています。 詳細については、「Using ステートメント」を参照してください。

この例では、アプリケーションは、モデムをダイヤルした後でシリアル ポートを切断しています。 実際には、モデムとの間でデータの転送が必要となります。 詳細については、「方法: シリアル ポートから文字列を受信する」を参照してください。

関連項目