概要
VBAで、コードを追加して、Excel, Accessで、着信情報と顧客情報を受け取ることができます。
- 着信情報 電話番号・受信側電話番号など
- 顧客情報 ガンジス顧客管理・ガンジスCTIの外部ファイルで、電話番号に一致した複数の顧客情報(No・分類・名前・住所など)
サンプルの利用方法
- ガンジス顧客管理からガンジスCTI あるいは、単独でガンジスCTIを起動します。
- ガンジスCTIの設定>開発で、ライブラリからの接続を受け付ける、をクリックします。
- サンプルのExcelファイルを開いて、CTIを開始をクリックします。
Excel, Accessで受け取ることができる着信情報・顧客情報は、ガンジスCTIの設定により変わります。
サンプルのExcelファイルは、参照設定を設定し直さないといけない場合があります。
Excelでの開発方法の例
開発タブ(ファイル>オプションのリボンの設定で開発タブを表示可能)をクリックし、Visual Basicのアイコンをクリックして下さい。
ツール>参照設定から、Ganges CTI Library 1.0を選択します。
サンプルのコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | Private WithEvents cti As GangesCTILibrary.CTIManager Public Sub StartCTI() SetCti cti.StartCTI End Sub Public Sub StopCTI() SetCti cti.StopCTI End Sub Public Sub SetCti() If cti Is Nothing Then Set cti = New GangesCTILibrary.CTIManager End If End Sub Private Sub cti_PhoneCalled(ByVal sender As CTIManager, ByVal info As CTIInfo) Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("着信情報") Dim MaxRow As Integer Dim NextRow As Integer MaxRow = ws.Cells(Rows.Count, 2).End(xlUp).Row NextRow = MaxRow + 1 ws.Cells(NextRow, 2) = info.DateTime ws.Cells(NextRow, 3) = info.SerialNumber ws.Cells(NextRow, 4) = info.Tel ws.Cells(NextRow, 5) = info.FormedTel ws.Cells(NextRow, 6) = info.ReceiverTel End Sub |
電話着信時に、次のSubが呼び出されます。
引数の、info As CTIInfoの、infoのプロパティで、日付・連番・電話番号・受信側電話番号を取得できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | Private Sub cti_PhoneDetailCalled(ByVal sender As CTIManager, ByVal obj As CTIObj) Dim s() As CTIDetail s() = obj.CTIDetailCollection Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("着信詳細") Dim MaxRow As Integer Dim NextRow As Integer MaxRow = ws.Cells(Rows.Count, 2).End(xlUp).Row 'B列の最終行を取得 NextRow = MaxRow + 1 Dim i As Long For i = LBound(s) To UBound(s) ws.Cells(NextRow, 2) = s(i).DateTime ws.Cells(NextRow, 3) = s(i).SerialNumber ws.Cells(NextRow, 4) = s(i).Tel ws.Cells(NextRow, 5) = s(i).FormedTel ws.Cells(NextRow, 6) = s(i).Name ws.Cells(NextRow, 7) = s(i).No ws.Cells(NextRow, 8) = s(i).Category ws.Cells(NextRow, 9) = s(i).Group ws.Cells(NextRow, 10) = s(i).Address ws.Cells(NextRow, 11) = s(i).Type ws.Cells(NextRow, 12) = s(i).Ex1 ws.Cells(NextRow, 13) = s(i).ReceiverTel NextRow = NextRow + 1 Next i End Sub |
電話着信し、顧客情報が検索された後、次のSubが呼び出されます。
引数の、obj As CTIObjのプロパティで、CTIDetailCollectionを取得できます。CTIDetailCollectionは、CTIDetailの配列です。
CTIDetailは、顧客情報の含まれた着信情報です。1つの着信に、最大10件の検索結果が渡されます。
参照
サンプルファイル
開発(ライブラリ接続)のページから、ダウンロードできます。