私は VBVoice(softboad) というものを使ってコールセンターのようなものを作ろうと思っているのですが、同梱のマニュアル以外資料がないので VBVoice に関するHP(ソフトボード以外)があれば教えていただきたいと思いまして書き込みさせていただきました。気長にお待ちしますので見かけたらお答えよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

「気長にお待ちします」とありますが、8年後でも待っておられるでしょうか…。

現在、http://cba-japan.com でこちらの製品をサポートしております。VBVoiceを使うと、自動電話発信システムや、複雑な処理の必要なIVR(自動応答)システム、他のプログラムとの連携処理などを非常に簡単に実現できます。(簡単、というのはDialogic APIを直接たたく場合と比較して、という意味です。)Visual Basicか、C#での開発が可能です。でも、開発、というよりは、コントロールを並べて線でつなぐ処理が主なので、実際にはコードをほとんど書かずに済ますことも可能です。お尋ねの“コールセンターのようなもの”という件ですが、実際のコールセンターであれば、現在であれば、まず trixbox ProというIP-PBXをお勧めしています。こちらのコールセンターエディションで対応できる範囲のものであれば、プログラムなしでもかなりのことができますので、それがいちばん早く、また工数も少なくて済むと思います。そちらで対応できないような、プログラムによる開発が必要なものであれば、VBVoiceをお勧めいたします。まだこういう仕事をなさっておられるようでしたら、ホームページをご覧ください。

参考URL:http://vbvoice.cba-japan.com
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qエクセルで複数シートの同位置にあるデータを別のシートに書き込む方法

いつもお世話になります。
エクセルファイルの中に約100シートあるのですが、新しいシートを用意して、100シートの中にある特定の位置のデータをそこに書き連ねていくことは出来ますでしょうか。ちなみにシートの名前は数値ではなく、地名を書き入れているので法則性はありません。

具体的な形としては、シート”大阪”、”堺”、”和泉”・・・とあって、各セルのA1、B2、C3のセルのデータが欲しかったとすれば、
地名,数値1,数値2,数値3
大阪,A1,B2,C3
堺,A1,B2,C3
和泉,A1,B2,C3
・・・
という表を作りたいのです。

どうか宜しくお願い致します。

Aベストアンサー

こんな時は
For Each ~ Next を使います。

Sub aaa()
'集計用のワークシートを作ります。
'既にある時はコメントアウト
Sheets(1).Select
Sheets.Add
ActiveSheet.Name = "集計"

Range("A1") = "地名"
Range("B1") = "数値1"
Range("C1") = "数値2"
Range("D1") = "数値3"

'ここから集計

Dim ws As Worksheet
Dim r As Integer

r = 1
For Each ws In Worksheets

If ws.Name <> ActiveSheet.Name Then
r = r + 1
Cells(r, 1) = ws.Name
Cells(r, 2) = ws.Range("A1")
Cells(r, 3) = ws.Range("B2")
Cells(r, 4) = ws.Range("C3")
End If

Next ws

End Sub

こんな時は
For Each ~ Next を使います。

Sub aaa()
'集計用のワークシートを作ります。
'既にある時はコメントアウト
Sheets(1).Select
Sheets.Add
ActiveSheet.Name = "集計"

Range("A1") = "地名"
Range("B1") = "数値1"
Range("C1") = "数値2"
Range("D1") = "数値3"

'ここから集計

Dim ws As Worksheet
Dim r As Integer

r = 1
For Each ws In Worksheets

If ws.Name <> ActiveSheet.Name Then...続きを読む

Qコールバック関数 再び

またまた、お世話になります。前回、御回答頂き動作するようにはなったのですが、コールバックに入力があった時に、アプリケーションが終了してしまう現象がおきています。御教授お願いします。

C++で作られたDLLを利用。
装置との通信を行なう物で初期設定用と通信開始用の
関数があり、コールバック関数で、装置からの送信もある。このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ないと思われる。

関数説明
【初期設定用】
 initial(DWORD ip,LPNOTIFICATIONFUNC notificationFunc);

ip=相手先のipアドレス
notificationFunc=コールバック関数へのポインタ

コールバック関数
WINAPI *PNOTIFICATIONFUNC(
 DWORD id,
 BYTE bySet1,
 BYTE bySet2,
 BYTE *data,
 DWORD datasize);
以上の説明があり、現在下記のように宣言して使っています。
【初期設定用】
Declare Function MT_INITIALIZE Lib "TEST.dll" Alias "Initial" _
 (ByVal ip As Integer, ByVal notificationFunc As CallBack) As Boolean

Public Delegate Sub CallBack( _
 ByVal id As Integer, _
ByVal byset1 As Byte, _
ByVal byset2 As Byte, _
ByVal data As IntPtr, _
ByVal dataSize As Integer)

【コールバック関数】
Public Shared Sub notificationFunc( _
 ByVal id As Integer, _
ByVal byset1 As Byte, _
ByVal byset2 As Byte, _
ByVal data As IntPtr, _
ByVal dataSize As Integer )
  //データのバッファ処理
End Sub

またまた、お世話になります。前回、御回答頂き動作するようにはなったのですが、コールバックに入力があった時に、アプリケーションが終了してしまう現象がおきています。御教授お願いします。

C++で作られたDLLを利用。
装置との通信を行なう物で初期設定用と通信開始用の
関数があり、コールバック関数で、装置からの送信もある。このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ないと思われる。

関数説明
【初期設定用】
 initial(DWORD ip,LPNOTIFICATIONFUNC notificati...続きを読む

Aベストアンサー

>このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ない
そのアプリのコードは持っています?

考えるよりコンバートの方が、だいぶ手間がありません。


それができないなら、考えるしかないので、一応書きます。

[BYTE *data] => [ByVal data As IntPtr]
という変換をしていますよね。
「data」に渡すための変数値のアドレスをIntPtrオブジェクトに収め、値渡しをする事が前提の宣言をしています。
その形式を取っていなければ、メモリリークを起こして落ちると思います。

あなたが公開した情報でもできますが、要は使い方次第です。


個人的には、オブジェクトハンドルを意識しないでやりたいのであれば、
[ByRef data As Byte]
としたいところです。
http://okweb.jp/kotaeru.php3?q=1565958
↑ ここでやりましたよね。
その変換で、不都合があるのであれば、補足してください。



ちょっと気になったので追記です。
普通はDLLだけ提供している物に対し、インターフェイスだけの情報というのは考えずらいのですが、、、

各インターフェースのIN/OUTの解説文がありませんか?
私が記した方法は、あくまでマクロ的に「通す」だけのコンバート方法であり、目的を達する方法ではありません。

たとえばAPI:GetProfileString関数のヘルプ
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=GetProfileString+MSDN&num=50
DWORD GetProfileString(
 LPCTSTR lpAppName,    // セクション名
 LPCTSTR lpKeyName,    // キー名
 LPCTSTR lpDefault,    // 既定の文字列
 LPTSTR lpReturnedString, // 情報が格納されるバッファ
 DWORD nSize        // 情報バッファのサイズ
);
「//コメント」←これ結構大事です。

この情報の意味合いから、利用するたの最適な方法を考えてDeclareで宣言します。
http://okweb.jp/kotaeru.php3?q=1267832
このスレをよく読んでください。私の「お気に入り」です。


インターフェイスを作ることができても、利用する側の渡しでコケる場合もありますので、ご注意を!

>このDLLを使った、他のアプリで動作確認は取れているのでDLL自体には問題ない
そのアプリのコードは持っています?

考えるよりコンバートの方が、だいぶ手間がありません。


それができないなら、考えるしかないので、一応書きます。

[BYTE *data] => [ByVal data As IntPtr]
という変換をしていますよね。
「data」に渡すための変数値のアドレスをIntPtrオブジェクトに収め、値渡しをする事が前提の宣言をしています。
その形式を取っていなければ、メモリリークを起こして落ちると思います。

...続きを読む

QVB6.0(SP6)からActiveXDLLをコールする方法

コマンドボタンを押すと
DLL内のgReadItemがコールされる様に作成したのですが
実行すると
「実行時エラー453
 エントリgReadItemがDLLファイルmenu.dll内に見つかりません。」
というエラーが発生します。
VB側の宣言は下記の方法で間違いないでしょうか?
プロジェクトの参照設定でmenu.dllの設定も行っています。
回答宜しくお願いします。


<標準モジュールでの宣言>
Public Declare Sub gReadItem Lib "menu.dll" ()

<フォームでのコマンド押下処理>
Private Sub cmd1_Click()
Call gReadItem
End Sub

Aベストアンサー

#1です。

#6補足に関してです。

クラスのメソッドの引数に
コントロールを追加して渡したほうが早いんじゃないのかな?

制御が他のウィンドウに移った時点で、
ActiveFormは別なウィンドウになってしまいません?

Qコールバック関数

お世話になります。VB.NETにてソフト制作をしています。
今回、DLLの関数を利用する事になりましたが、うまく宣言できず困っています。御教授お願いします。
DLLはC++で作られており変更できません。
DLLは通信を補助するための物で、初期設定の関数と通信開始の物があります。
初期設定用を呼んだ後、通信開始を行なうようです。

説明には下記のような内容がありました。
【初期設定用】
 initial(DWORD ip,
LPNOTIFICATIONFUNC notificationFunc);

ip=相手先のipアドレス
 notificationFunc=コールバック関数へのポインタ

コールバック関数
   WINAPI *PNOTIFICATIONFUNC(
DWORD id,
BYTE bySet1,
BYTE bySet2,
BYTE bySet3,
BYTE *data,
DWORD datasize
);

【通信開始用】
 start(DWORD ip
BYTE *code
);

ip=通信元のipアドレス
code=相手のコードの格納アドレス


以上

全体的にどう宣言したら良いのか解りません。
(特にコールバック関数の宣言と、ポインタへの引数の渡し方)
すみませんが、御教授お願いします。

お世話になります。VB.NETにてソフト制作をしています。
今回、DLLの関数を利用する事になりましたが、うまく宣言できず困っています。御教授お願いします。
DLLはC++で作られており変更できません。
DLLは通信を補助するための物で、初期設定の関数と通信開始の物があります。
初期設定用を呼んだ後、通信開始を行なうようです。

説明には下記のような内容がありました。
【初期設定用】
 initial(DWORD ip,
LPNOTIFICATIONFUNC notificationFunc);

ip=相手先のipアドレス
 notifica...続きを読む

Aベストアンサー

以下はあくまでサンプルです。
[DWORD id]
[DWORD datasize]
に該当する部分をLongで切っていますが、場合によっては型を変更する必要があります。

.NETでのコールバックのサンプルとしてだけと思ってください。



このサンプルは標準モジュールにコールバック関数を書いた場合用です。
もしクラスに書くのであれば、コールバック関数を
Public Function PNOTIFICATIONFUNC
から
Public Shared Function PNOTIFICATIONFUNC
としてください。



'APIのコールバックする関数の型をここで宣言する
'下のコールバック関数<PNOTIFICATIONFUNC>の宣言とセットになります。
Public Delegate Function CallBackFuncPNOTIFICATIONFUNC( _
        ByVal id As Long, _
        ByVal bySet1 As Byte, _
        ByVal bySet2 As Byte, _
        ByVal bySet3 As Byte, _
        ByRef data As Byte, _
        ByVal datasize As Long _
      ) As Boolean

Module Module1
  'APIの宣言
  Private Declare Sub initial Lib "DLL名" _
    ( _
      ByVal ip As String, _
      ByVal lpFunc As CallBackFuncPNOTIFICATIONFUNC _
    )
  Private Declare Sub start Lib "DLL名" _
    ( _
      ByVal ip As String, _
      ByRef code As Byte _
    )

  '実行
  Public Sub Main()
    Dim strIP As String
    Dim bytCode As String

    strIP = "192.168.0.1"

    Call initial(strIP, AddressOf PNOTIFICATIONFUNC)
    Call start(strIP, bytCode)
  End Sub

  'コールバック関数
  Public Function PNOTIFICATIONFUNC( _
        ByVal id As Long, _
        ByVal bySet1 As Byte, _
        ByVal bySet2 As Byte, _
        ByVal bySet3 As Byte, _
        ByRef data As Byte, _
        ByVal datasize As Long _
      ) As Boolean

    'サンプルは戻り値がBooleanになっていますが、そちらがかかれている情報だけでは、
    'これが有効かどうかわかりません。
    'ただ、よくコールバックを利用したDLLの作りとして、コールバックの最後の値まで行く前に、
    'ステータスをFALSEで返すと、コールバック中断処理が働くものが多いように思ったので、
    '勝手にBooleanを利用しています。

  End Function
End Module

参考URL:http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconusingcallbackfuncti

以下はあくまでサンプルです。
[DWORD id]
[DWORD datasize]
に該当する部分をLongで切っていますが、場合によっては型を変更する必要があります。

.NETでのコールバックのサンプルとしてだけと思ってください。



このサンプルは標準モジュールにコールバック関数を書いた場合用です。
もしクラスに書くのであれば、コールバック関数を
Public Function PNOTIFICATIONFUNC
から
Public Shared Function PNOTIFICATIONFUNC
としてください。



'APIのコールバックする関数の型をここで宣言す...続きを読む

Qコールバック関数

VB6.0でコールバック関数みたいなのを呼び出して
別のプロシージャを作成する事ってできないでしょうか?

並列処理をさせたいのですが、あるdllを呼び出しくる際
戻り値が返ってくるのを待ってしまいその部分でラグが発生してしまいます。
そのdllに関してのみ別のプロシージャに投げて戻り値が返ってくるのを待たず、
戻り値をパブリック変数に順次格納していきたいのですがVB6.0 or .netで可能でしょうか?

VB6.0SP3
Windows2k

Aベストアンサー

ActiveX EXEによる非同期処理の実装はこちらをどうぞ。
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0008/com/

あと、.netであれば、VB.NETでもスレッドが使用可能なので、同一プロセス内で非同期処理が可能です。

参考URL:http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0008/com/


人気Q&Aランキング

おすすめ情報