- ベストアンサー
WindowsXPのダイヤラ(TAPI32.DLL)のコールについて
- WindowsXPのダイヤラ(TAPI32.DLL)のコールについて
- WindowsXPのダイヤラ(TAPI32.DLL)を使用して顧客管理システムから電話をかける方法について説明します。
- WindowsXPのダイヤラ(TAPI32.DLL)を使用して自動で電話をかけるシステムを構築する方法をご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
WindowsXP Home、Excel2000 VBAで検証してみました Public Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" ( _ ByVal Dest As String, _ ByVal AppName As String, _ ByVal CalledParty As String, _ ByVal Comment As String) As Long Sub PhoneCall() Dim Number As String Dim Ret As Long Number = "117" Ret = tapiRequestMakeCall(Number, "", "", "") End Sub こちらの環境ではダイアラの設定に関係なく、電話番号で自動的に判断されるようです。 Number = "117" 電話で起動 Number = "117." インターネット通話で起動 Number = "090-1111-1111" 電話で起動 Number = "090/1111/1111" インターネット通話で起動 電話番号に不正な文字があるとインターネット通話で起動するようです。
その他の回答 (2)
編集→オプション→オーディオ/ビデオ 通話に使うデバイス 回線 こちらも電話になってますよね。 電話番号は問題ないですか? http://support.microsoft.com/kb/247192/#appliesto
お礼
ご回答ありがとうございます、試してみましたが、やはり設定を行っても、プログラムからの呼び出しの際には勝手に「インターネット通話」に設定されてしまうようでした…。
ダイヤラを起動させる。 編集→オプション→通話に使用する回線 は電話になってますか?
お礼
ありがとうございます、試してみましたが、ダメでした。 オプション画面での設定ですが、"電話"にしております。 関数呼び出しを実行したところ、オプションで設定された 設定が有効にならず、"インターネット通話"になって しまいました。
お礼
ありがとうございます! 早速試してみます、結果ご報告させていただきます。
補足
お返事が遅くなり申し訳ありません、 試してみたところ、何とか上手く出来ました! 具体的にはご回答いただいた方法"不正な文字を入れずにダイヤラにも文字列を投げる"ことで、電話による起動が出来ましたが、最初はそれではまだ電話機のほうに発信の処理がわたりませんでした。 後で確認したところ、"ゼロ発信"が必要だったようで、電話番号の頭に「0 」(ゼロスペース)を入れてから、ダイヤラに投げるようにすると上手くいきました。 ただ、今度は別の問題が…その状態でダイヤラを起動させたままにしておくと、ブラウザやエクスプローラなどで、フォルダを開いたりページを開いたりする動作があるたびに、左上に通話のスピーカウィンドウが出てくるようになってしまいました。 現在はブラウザ起動するなど、別の作業をする時はダイヤラを終了させる事で凌いでますが…。 この件はもう一つ別件という事で質問させていただきたいと思います。 諸々ご教授いただきありがとうございました!