PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
14775 01/03/12 18:36:38 RE(5):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By hkameda
14756 01/03/09 15:20:52 RE(4):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By ara
14752 01/03/09 09:11:21 RE(3):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By Potato
14751 01/03/09 01:40:41 RE(2):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By あすかちゃんの父
14750 01/03/09 01:17:29 RE(1):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By Taka
14744 01/03/08 18:22:53 PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい By ara

カテゴリ:PowerBuilderの不具合?
日付:2001年03月09日 09:11 発信者:Potato
題名:RE(3):PB6.5: OLEでEXCEL97へデータ出力した時のメモリ解放方法を教えて下さい

araさん、おはようございます。

>皆さん、こんにちは
>   EXCEL97へのデータ出力時のメモリ解放について教えて頂きたいことがあり、発言しました。
>   (開発環境:PB6.5.1/EXCEL97)

>   現在、下記要領で複数のEXCELファイルにデータを出力させていまが、途中でリソース不足
>   でエラーになります。
>   メモリ解放についてどなたかご存知でしたら教えて下さい。

>------------------------------------------------------------
>// ファイル名
>ls_fname[1]   = \"FILE1.XLS\"
>       :           :
>ls_fname[100] = \"FILE100.XLS\"

>// 対象データ取得処理ループ
>FOR li_idx = 1 TO 100 STEP 1

> // OLE オブジェクト変数の作成
> lole_excel = CREATE OleObject

> // OLEオブジェクト作成&OLEオブジェクト変数との関連づけ
> lole_excel.ConnectToNewObject( \"excel.application\" )

> // BOOKを開く
> lole_excel.WorkBooks.Open( ls_fname[li_idx] )

> // データ設定
> lole_excel.cells(2, 1).value = \"A\"
> lole_excel.cells(2, 2).value = \"B\"

> // ファイル保存
> lole_excel.WorkBooks(1).Save( )

> // ファイルを閉じる
> lole_excel.WorkBooks.Close( )

> // OLEオブジェクト変数との接続解除
> lole_excel.Quit()

ここに

> lole_excel.DisconnectObject( )

> // インスタンス破棄
> DESTROY lole_excel

>NEXT
>------------------------------------------------------------

quitとdisconnectobjectの間に1秒ぐらいのインターバル(Sleep外部関数)を
置いてみてはどうでしょうか。以前この方法で、Excelがメモりに残るのを
解決できました。

グローバル外部関数:
SUBROUTINE Sleep(ulong milli) LIBRARY \"Kernel32.dll\"

それから、インターネットでは、半角カタカナはいけません。
この会議室の入力するときの、題名の上に注意書きが書いてあると
思いますが。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.