MENU

VBAで電話番号取得

CTIシステムを簡単に自作

Access との連携は特に簡単になっています。検索処理も含めると、Excel の場合はもっと簡単です。VBAを数行書くだけで着信時の電話番号が取得出来ます。CTI機器の検出・設定・接続など面倒な処理は Fullfree 側で行います。Fullfree を使うと、高価なCTIシステムを無料で簡単に自作することも可能です。

もし、出来が良くて自社利用だけでなく、大量に再販したいといった場合にも対応しています。Fullfree の代わりに xCTI を使って下さい。

Fullfree に一切データを保存しない場合でも、設定を保存するためにデータベースの作成は必要です。Fullfree は常駐機能で常駐し、起動したら自動的にCTI接続するように接続機器の設定をしておくと便利です。クラウドを使って1台のパソコンで受けた着信通知を最大50台のパソコンに通知することも可能です。

尚、Fullfree と連携するシステムとはどちらを先に起動しても構いません。Fullfree 側の着信ポップアップ表示は必要ない場合、カスタム通知設定にて設定してください。

VBA の場合 (Access, Excel など)

Access や Excel など VBA での利用方法について説明します。尚、Excel で VBA を使うには、[ファイル]-[オプション] の「リボンのユーザー設定」から「開発」タブを表示するようにして下さい。

VBA のエディタから [ツール]-[参照設定] で参照設定のダイアログを開いて下さい。

VBA参照設定(1)

Fullfree Client Library を有効にして下さい。(注:この項目は Fullfree をインストールしている場合のみ表示されます)

VBA参照設定(2)

Fullfree のCTI機能が使えるようになるので、例えば下記のようなコードで電話番号が取得出来ます。

例:Access のフォームの場合
' 電話着信時のイベントを登録
Private WithEvents cti As CtiSystem

' Access のフォームが開いた時に呼ばれます
Private Sub Form_Open(Cancel As Integer)
    Set cti = New CtiSystem
    'cti.ResellerKey = "000000000-000000000-000000000" ' xCTIの場合は指定が必要
    cti.Start ' 着信電話番号の取得を開始
End Sub

' 電話着信時に呼ばれます
Private Sub cti_PhoneCalled(ByVal sender As CtiSystem, ByVal info As CtiCallInfo)
    MsgBox "着信電話番号:" & info.Tel
End Sub

着信電話番号以外にも、最後の着信はいつだったかなどの情報も取得出来ます。詳細はAPIリファレンスを参照して下さい。

xCTIで利用の場合

Fullfree ではなく xCTI から利用する場合は、CtiSystem クラスの ResellerKey プロパティにリセラーキーを設定して下さい。Fullfree の場合は設定しないで下さい。

VB, C# などの場合 (.NET Framework)

VB や C# など .NET Framework での利用方法について説明します。.NET Framework 4.0 以上で利用できます。

Visual Studio の [プロジェクト]-[参照の追加] メニューから参照マネージャーを開いて下さい。そして、「アセンブリ」の「拡張」から Fullfree Client Library を有効にして下さい。(注:この項目は Fullfree をインストールしている場合のみ表示されます)

参照マネージャー

Fullfree のCTI機能が使えるようになるので、例えば下記のようなコードで電話番号が取得出来ます。例は WPF ですが、Windows Forms でも利用可能です。Windows Forms のサンプルはサンプルファイルをご覧下さい。

例:VB で WPF 場合
Imports Fullfree.Client

Class MainWindow
    Public Sub New()
        InitializeComponent()
        Dim cti As New CtiSystem
        'cti.ResellerKey = "000000000-000000000-000000000" ' xCTIの場合は指定が必要
        cti.EventDispatcher = Dispatcher
        AddHandler cti.PhoneCalled, AddressOf CtiPhoneCalled
        cti.Start ' 着信電話番号の取得を開始
    End Sub

    ' 電話着信時に呼ばれます
    Private Sub CtiPhoneCalled(sender As ICtiSystem, info As ICtiCallInfo)
        MessageBox.Show("着信電話番号:" & info.Tel)
    End Sub
End Class
例:C# で WPF 場合
using System.Windows;
using Fullfree.Client;

namespace CtiTest
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            var cti = new CtiSystem { EventDispatcher = Dispatcher };
            //cti.ResellerKey = "000000000-000000000-000000000"; // xCTIの場合は指定が必要
            cti.PhoneCalled += CtiPhoneCalled;
            cti.Start(); // 着信電話番号の取得を開始
        }

        // 電話着信時に呼ばれます
        private void CtiPhoneCalled(ICtiSystem sender, ICtiCallInfo info)
        {
            MessageBox.Show("着信電話番号:" + info.Tel);
        }
    }
}

着信電話番号以外にも、最後の着信はいつだったかなどの情報も取得出来ます。詳細はAPIリファレンスを参照して下さい。

xCTIで利用の場合

Fullfree ではなく xCTI から利用する場合は、CtiSystem クラスの ResellerKey プロパティにリセラーキーを設定して下さい。Fullfree の場合は設定しないで下さい。

ワンポイント

今後 Fullfree Client Library がバージョンアップされた場合、ビルド時に自動的にそれが使われるように FullfreeClient の参照プロパティの「特定バージョン」を False に設定するのがお勧めです。True のままだと、Fullfree Client Library がバージョンアップされるとビルドできなくなります。

参照プロパティ

APIリファレンス

Fullfree.Client.CtiSystem
種類 メンバ 内容 対応バージョン
プロパティ Dispatcher EventDispatcher 着信通知を行うための Dispatcher です。UI を持つアプリの場合、デフォルトはコンストラクターを呼び出したスレッドの Dispatcher です。null を指定すると通知用の Task が生成されます。【.NET Framework 専用】 初期バージョンから
ResellerKey 再販者用キー。(xCTI でのみ指定が必要) ライブラリ 1.2 から
(Fullfree 3.3.0)
メソッド void Start() 電話着信の受信を開始します。 初期バージョンから
void Stop() 電話着信の受信を終了します。
イベント PhoneCalled(ICtiSystem sender, ICtiCallInfo info) 電話着信時に呼び出されます。着信情報は info に渡されます。
Fullfree.Client.ICtiCallInfo
種類 メンバ 内容 対応バージョン
プロパティ string Tel 着信電話番号です。(検索向け) 初期バージョンから
string TelFormed ハイフン(-) 区切りの着信電話番号です。(表示向け)
DateTime Called 電話着信の日時です。
int HistoryCount 同じ着信電話番号での過去の着信回数です。(今回が初回の場合は 0) <注1>
DateTime LatestHistory 同じ着信電話番号で最後に着信のあった日時です。(今回が初回の場合は DateTime.MinValue) <注1>
string DbName 開いているデータベース名です。(Fullfree を複数起動する場合の区別向け)
string GroupName 着信グループ名です。<注2> ライブラリ 1.1 から
(Fullfree 3.1.0)
string PcName 着信PC名です。<注3>
string Device 着信機器です。
string LineInfo 回線情報です。(ひかり電話ルーター・SIP対応機器の場合は電話番号、それ以外の機器ではCOM)

<注1> HistoryCount, LatestHistory を利用するには着信履歴を保存するためのテーブルを作成し、着信履歴設定が必要です。データベースを作成時、「着信履歴を保存する」をオンにしているとあらかじめ設定された状態でデータベースが作成されます。

<注2> GroupName を利用するには複数の電話番号を扱うをオンにして下さい。

<注3> PcNameデータ共有機能を利用している場合のみ有効です。

すぐ試せるサンプルファイル

すぐ試せるようにサンプルファイルを用意しました。Access や Excel の場合は、検索処理も書いていますので VBA が初めてという方でも対応しやすくなっています。Excel の場合はとても短いコードで済みます。

含まれる内容は下記の通りです。

  • 使い方の説明
  • Access のサンプルファイル
  • Excel のサンプルファイル
  • VB, C# のサンプルプロジェクト

ダウンロードしたらまず、“使い方.html” をご覧下さい。

PAGETOP