Windows XP VB6でFAX送信を構築しています
FAX送信を行い、FAXコンソールの状況を取得し、正常に送信されたか、送信されなかったかを判別して再度FAX送信を行う処理を作成しています
【ロジック】
'送信ドキュメントの定義変数
Dim objFaxDocument As FAXCOMEXLib.FaxDocument
Dim WithEvents g_objFaxServer As FAXCOMEXLib.FaxServer
Dim pJobStatus As FAXCOMEXLib.FaxJobStatus
'Fax Serverオブジェクトを作成する
Set g_objFaxServer = New FAXCOMEXLib.FaxServer
'FAXサーバへ接続
g_objFaxServer.Connect ("")
g_objFaxServer.ListenToServerEvents fsetFXSSVC_ENDED + fsetOUT_QUEUE
'送信ドキュメントのオブジェクトを作成
Set objFaxDocument = New FAXCOMEXLib.FaxDocument
'優先度は普通に設定
objFaxDocument.Priority = fptNORMAL
'C:\直下においてあるXlsファイルを指定
objFaxDocument.Body = "C:\2008031900001.xls"
objFaxDocument.Subject = "テスト送信です"
objFaxDocument.DocumentName = "test.xlsです。"
'送信先を指定、Addで同報先として複数指定可能
objFaxDocument.Recipients.Add "03-1234-5678"
objFaxDocument.AttachFaxToReceipt = True
'ここで送信 varFaxJobIdsに送信したFAXJOBの管理情報が格納される
'varFaxJobIds = objFaxDocument.ConnectedSubmit(g_objFaxServer)
FAXJOBの管理番号は取得できますが送信状態が掴めません
WithEventsイベントからイベント状況が判るとありますがその方法が調査していますが良くわかりません
参考になるサンプルコード情報等ありましたらご教授下さい
たぶん、下記のように アンダーバーの後にイベント名となんらかの
引数で使えるのかなーと予測
Private Sub objFaxServer_OnOutgoingJobChanged(xx)
EXCELでのWithEvents
http://d.hatena.ne.jp/chaichanPaPa/20070127/1169895875
VB.NET
http://www.ureader.com/msg/133541.aspx
varFaxJobIds = objFaxDocument.ConnectedSubmit(g_objFaxServer)
FAX送信後のジョブ状態をfaxcomlibの場合、下記プロジェクトで取得しています
'送信トレイからジョブIDが一致するジョブを探して状態を取得
Set strFaxJob = objFaxServer.GetJobs()
facomexlibの場合、対比するオブジェクトは何でしょうか?
objFaxServer_OnOutgoingJobChanged g_objFaxServer,work,pJobStatusをFAX発行後に設定しましたがオブジェクト変数またはwithブロック変数が設定されていないとエラーになります(workは(bstrJobId As String)ですがvarFaxJobIdsはVariantなので試験的にworkを指定しています)
OnOutgoingJobChangedはあくまで例なので・・・
実際facomexlibで検索してもなかなか情報が出てこないし。
送信トレイからジョブIDが一致するジョブを探して状態を取得
http://tukaenai-pg.cocolog-nifty.com/blog/vb6/index.html
FAX送信後、管理番号のステータスコードを取り出し対比表を作成して調整してみます
ありがとうございました