PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
16811 | 01/12/20 15:37:57 | RE(1):OLEとExcel By Funakichi |
16800 | 01/12/19 19:40:39 | OLEとExcel By Funakichi |
カテゴリ:PowerBuilderの開発環境
日付:2001年12月19日 19:40 発信者:Funakichi
題名:OLEとExcel
OLEからExcelを呼び出す時の質問です。
PowerBuilderからOLEを介してマクロを実行すると、
マクロでの処理時間が長い時にRun関数の実行エラーが発生します。
(約3分ほどの処理時間ならば、PowerBuilderからでも正常に終了します)
(OLE経由ではなく直接Excelでマクロを実行すると正常終了します)
スクリプトの構造は、大枠以下のようになっています。
Excel = CREATE OLEObject
li_chk = Excel.ConnectToNewObject(\"excel.application\")
IF li_chk < 0 THEN
DESTROY Excel
Return
END IF
Excel.Application.WorkBooks.Open(ファイル名)
// マクロ起動
Excel.Application.Run(マクロファイル名 + \"!Main_proc\",引数) ←ここでエラーが発生します。
Excel.Application.WorkBooks.Close()
Excel.Application.Quit()
// すぐに接続解除を行なうとプロセスが残る恐れがあるので、空ループを回す
FOR i = 1 TO 30000
NEXT
Excel.DisconnectObject()
DESTROY Excel
最初はExcel(DAO)のエラーかと思い、
タイムアウトの時間をQueryTimeoutで伸ばしてみたのですがやはり実行エラーが起きました。
PowerBuilderのOLE経由でのRun関数を呼び出す際に、
長時間Excelから反応が返ってこないとエラーとするような設定がされているのでしょうか?
よろしくお願い致します。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS INFORMIX Net 7
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS INFORMIX-OnLine 7
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.