- ベストアンサー
エクセルが裏で動いたままなんです。
VB6.0にて、プログラムを作っておりまして、VB上の入力されたデータを エクセルのテンプレートファイルに出力し、テンプレートファイルを 名前を付けて保存(名前はシステム日付+".xsl")しております。 プログラムを起動し、エクセルへ出力し、プログラムを終了させたのですが、 出力したエクセルファイルが裏で動いているらしく、Windows(2000Pro)を 終了させるたびに、「****.xsl」を保存しますか?を聞いてきます。 この他、名前を付けて保存したエクセルファイルを起動すると、テンプレート ファイルまで一緒に開き、一つのファイルを開いただけなのに、二つの ファイルが起動します。 VB側からの制御が悪いのでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
「Selection.~」とか「Range.~」のように 親オブジェクトを指定せずにSelectionオジュジェクトやRangeオブジェクトを使ってませんか? 親オブジェクトを指定せずに使うと、新しいエクセルがもう一つ立ち上がってしまいます。 ※しかもVBの管理外で起動するので、VBから終了できない。
その他の回答 (2)
- pingpong
- ベストアンサー率0% (0/1)
「プログラムを終了させた~」っていうのは VBのプログラムの事ですよね? だとすれば、 単純にExcel("Excel.Application"オブジェクト)を 終了("Quit")していないのでは?
お礼
レスどうもありがとうございます。 ご指摘の部分に関しては、きちんと記述してあります。 プログラム終了後、タスクマネージャーのプロセスを見る と、エクセルがまだ立ち上がっている状態です。 もちろんWindows終了後に、ファイルを保存しますか?と 聞かれます。
- kojitti
- ベストアンサー率32% (449/1386)
おっしゃるとおりだと思います。 EXELへ出力させた後、EXCELはどうやって終了させているのでしょうか。
お礼
どうもレスありがとうございます。 ご指摘された部分ですが、やはりちゃんとオブジェクトを 指定しております。 しかしながら、先ほど何も変更せずに動かした所、問題 なくエクセルがプロセスから消えました。 何故でしょうか?って聞く事自体間違っていますね。(汗) とりあえず解決(?)したので、良かったです。 ありがとうございました。