Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20904 / 76732 ←次へ | 前へ→

【61236】CTI(風)アプリケーションを作成したい
質問  みそじのおじさん  - 09/4/18(土) 9:30 -

引用なし
パスワード
   毎度お世話になっております。
長文になりますが、よろしくお願い致します。

去年の暮れにこちらでアドバイスを頂きました。その節はありがとうございました。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=59578;id=excel

Excel+ADO+Accessで整備会社のシステム作成という内容でした。
年明けからPCが一台増え現在3台のPCで運用しています。大きなトラブルもなく現
在まで至っております。(ADOのトランザクション処理にはかなり助けられていま
す。)

さて本題ですが、先日社長から「お客さんから電話が掛かって時に、そのお客さん
のデータをPCに表示してほしい」と言われました。(Excelフォームです。)
 
今使用しているビジネスフォンがこちらなので
使用する機器はこれになる予定です。

ナカヨ電子サービス
http://www.nakayo.co.jp/product/system/nd_m/constraction.html

主装置(交換機)はすでにこちらの製品を使用していますので後は、CTI対応の
電話機に変えれば、実現できるそうです。こちらの会社ではCTIアプリケーション
ソフト、及びソフト開発用(電話機とPC間の通信をする為の)のActiveXを販売し
ておりますが、できればすべて自前でいきたいと思っています。予算がないもの
で....現在電話機の見積をとっていますが金額が高ければ、違うメーカーの物に
なるかもしれません。(リースでも高そうです...)

こちらのCTI対応の電話機だと
接続方法は、交換機 - 電話機 -(RS232C接続)-PC ですので私が用意しなければ
いけないプログラムは、PCのCOMポートの常駐監視だと思うのですが、機器がない
、電話機の詳しい仕様が現在わからないので(返答待ちです。)こちらは手が
つけられない状態です。

待ってばかりもいられないので
絶対に実現するんだと自分にプレッシャーをかける為に、着信番号を引数として
excelに渡ってきた後の処理は実装しました。

違うメーカーの物だと着信番号をCSV形式でログファイルとして吐く物がありまし
た。このタイプだとCOMポートの監視はいらず、ログファイルを監視するだけで着
信番号がわかるので、実験がてらVBSでログファイルを監視するプログラムを作成
しました。


処理の流れは

PC電源ON時にログファイル監視VBS起動(着信があるまで無限ループ)
ファイルの監視方法は起動時にログファイルのコピーを作成して2つのファイル
の差分を見るというものです。

着信がありログファイルが更新されると、着信番号をCSVから抜き出して
該当excelの起動状態を確認して、起動していなければ起動しsheetモジュールに
作成してあるPublic Subを引数付でキックする。(標準モジュールだと駄目なん
ですね!)VBSはここで終了

Excel SubではADOにてAccessファイルより該当顧客を探してきてExcelフォームに
表示する。
(車検・整備の予約受付をしたり、その顧客の車の修理履歴表示や
エンジンオイルの最終交換日なんかも出ます。左手に受話器を持っている事を
想定して、右手のマウス操作のみですべて操作できるように改良しました。こう
する事で自分の担当でないお客さんとでもスムーズに話が進みますよね!!)

フォーム表示後、ログファイルのコピーを取り直し、再びexcelよりVBSをキック
して着信待ちのループに入る。

実験(VBSを起動し、自分でログファイルに電話番号を入力する)ではうまくいき
ましたが、ログファイルを吐くタイミングが電話を切った後とかだとこの方法は
まったく使えません。(この辺も購入していないので詳しくはわかっていません。)
着信からフォーム表示までは遅くても5秒以内が目標です。

やはりCOMポート監視というのが現実的でしょうか?
以前、VBAでAPIを使用して工作機械とPCをRS232Cでつないで、データの送受信を
するプログラムを作成しました。その時は例えばPCが受信側だとするとまずPC側
を受信待ちのループにいれて(タイムアウト付)それから、工作機械からデータ
を送信する(これは人がボタンを押す事によって送信がスタートする)という物
でした。
 今回はいつ掛かってくるか分からない着信に対応するという事で、常駐監視と
いう部類になると思うのですが、この辺りの知識が乏しく見通しが立っておりま
せん。APIを使えばVBAでも実現できる!!と信じていますが、いかんせんVBAで常
駐となると他の操作をする時が心配です。年明けからVB.NETもはじめましたが、
日々の本業の仕事や、現在作成しているシステムの細かな修正で手が回っていない
というのが現状です。(.NET難しいです....)

 使用する機器依存が大きい話なのに使う機器が未定のまま質問してしまい申し
訳ありません。

こういったシステムを作成するにあたっての作成方針や使う言語、などアドバイス
頂けると幸いです。 かなりの長文失礼いたしました。

0 hits

【61236】CTI(風)アプリケーションを作成したい みそじのおじさん 09/4/18(土) 9:30 質問
【61237】Re:CTI(風)アプリケーションを作成したい neptune 09/4/18(土) 17:44 発言
【61241】Re:CTI(風)アプリケーションを作成したい みそじのおじさん 09/4/18(土) 22:29 発言

20904 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free