PB 電子会議室
カテゴリ:PowerBuilderの開発環境
日付:1999年03月03日 18:56 発信者:kuro2
題名:RE(8):PB5.0.04: OLEで作成したExcelを閉じたいのですが・・。
明日香ちゃんの父さん、こんにちは。
>>具体的に言いますと、OLEにワークシートを挿入し、
>これはOLEのリンクのことでしょうか?
ウインドウにOLEのオブジェクトを貼り付けています。
そのOLEオブジェクトに
ole_1.InsertClass(\"excel.sheet\")
で、シートを挿入しています。
シートを挿入した時点でEXCELとリンクされているようです。
excel.exeが立ち上がっています。
>>データを保存せずにキャンセルしたとき、
>この時にExcelはアウトプロセスで、Excelアプリケーション
>がアクティブな状態でしょうか? それともプロセスだけが起
>動している状態ですか?
この時Excelはアウトプロセスで、Excelアプリケーションがアクティブです。
>「データを保存せずにキャンセル」というのは、どういう操
>作をされていますか?
システムの [ファイル名を付けて保存] ダイアログボックスを表示し、
キャンセルボタンが押されたときスクリプトを抜ける処理を書いています。
その後にclear関数やquit関数を試してみましたが、clear関数ではEXCELのアウトプロセスは終了
しませんでしたし、quit関数はアプリケーションエラーとなってしまいました。
>>実行していたEXCEL上にワークシートが残ってしまいます。
>Excelがリンク・ファイルを開いたままになるということです
>ね?
そうです。具体的には「ole_1」という名称のワークシートが開いています。
>>これをさけるため、EXCELが起動していたら閉じてもらう
>Excelの起動チェックは、どういう方法でされていますか?
li_val=FindWindowA(\"XLMAIN\", 0) を使っています。
>起動しているExcelのウィンドウ・ハンドルが取得できれば、
>もしかしてメッセージを送ることにより、ワークシートを
>閉じさせることが出来るかもしれません。メッセージNo.が
>不明ですが・・・・・
発想を変えた方法ですね。
私には高度すぎてできるか分かりませんが、調べてみたいと思います。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 2.3
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.