PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
20535 | 03/11/05 11:36:19 | PB7.0: EXCEL操作でのエラー処理について(OLE) By mamente2002 |
カテゴリ:スクリプトの記述
日付:2003年11月05日 11:36 発信者:mamente2002
題名:PB7.0: EXCEL操作でのエラー処理について(OLE)
今、OLEを使用したEXCEL操作スクリプトを記述しています。
悩んでいるのは、オブジェクトのメソッド実行後のエラー処理の仕方です。
以下に、今作成中のコードを記述しました。例えばその中の文においてでSaveAs
とかに存在しないパスのファイル名を指示した場合
実行時エラーとして、アプリケーションオブジェクトのsystem_errorイベントが
トリガされてしまい、SaveAsを呼び出した後に流れません。errorオブジェクトを使用すれば
system_errorイベントスクリプトで処理できそうですが、SaveAsの成功・非成功
はSaveAsを呼び出した側で処理したと考えております。
VB、VBAとかであれば
On Error Resume Next
objBook.SaveAs(\"c:\\test.xls\")
if err.number <> 0 then
msgbox \"エラー\"
exit sub
end if
のイメージです。
どんな事でも構いませんので、ご存知であればご教示宜しくお願いします。
///PBコード
OleObject ExcelObject
OleObject objBook
ExcelObject = CREATE OLeObject
ret_cd = ExcelObject.ConnectToNewObject(\"Excel.Application\")
if(ret_cd < 0)then
MessageBox(\"test\",\"NO\")
return
end if
objBook = ExcelObject.Workbooks.Add()
ExcelObject.Visible = false
objBook.Worksheets(1).Range(\"A\" + string(i)).Value = Right(\"00000\" +String(i),5)
objBook.Worksheets(1).Range(\"A\" + string(i)).NumberFormatLocal = \"@\"
objBook.Worksheets(1).Range(\"A\" + string(i)).Borders(7).LineStyle = 1
objBook.Worksheets(1).Range(\"A\" + string(i)).Borders(8).LineStyle = 1
objBook.Worksheets(1).Range(\"A\" + string(i)).Borders(9).LineStyle = 1
objBook.Worksheets(1).Range(\"A\" + string(i)).Borders(10).LineStyle = 1
objBook.SaveAs(\"C:\\TEMPL\\Q.XLS\")
※ここでエラー処理を行いたいです。
ExcelObject.Quit()
SetNull(objBook)
SetNull(ExcelObject)
DESTROY ExcelObject
GarbageCollect()
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS (記載なし)
Browser InternetExplorer5.X
Server SoftWare
OS Solaris
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.