• ベストアンサー

エクセルが裏で動いたままなんです。

VB6.0にて、プログラムを作っておりまして、VB上の入力されたデータを エクセルのテンプレートファイルに出力し、テンプレートファイルを 名前を付けて保存(名前はシステム日付+".xsl")しております。 プログラムを起動し、エクセルへ出力し、プログラムを終了させたのですが、 出力したエクセルファイルが裏で動いているらしく、Windows(2000Pro)を 終了させるたびに、「****.xsl」を保存しますか?を聞いてきます。 この他、名前を付けて保存したエクセルファイルを起動すると、テンプレート ファイルまで一緒に開き、一つのファイルを開いただけなのに、二つの ファイルが起動します。 VB側からの制御が悪いのでしょうか? よろしくお願いします。

  • mk100
  • お礼率81% (35/43)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

「Selection.~」とか「Range.~」のように 親オブジェクトを指定せずにSelectionオジュジェクトやRangeオブジェクトを使ってませんか? 親オブジェクトを指定せずに使うと、新しいエクセルがもう一つ立ち上がってしまいます。 ※しかもVBの管理外で起動するので、VBから終了できない。

mk100
質問者

お礼

どうもレスありがとうございます。 ご指摘された部分ですが、やはりちゃんとオブジェクトを 指定しております。 しかしながら、先ほど何も変更せずに動かした所、問題 なくエクセルがプロセスから消えました。 何故でしょうか?って聞く事自体間違っていますね。(汗) とりあえず解決(?)したので、良かったです。 ありがとうございました。

その他の回答 (2)

  • pingpong
  • ベストアンサー率0% (0/1)
回答No.2

「プログラムを終了させた~」っていうのは VBのプログラムの事ですよね? だとすれば、 単純にExcel("Excel.Application"オブジェクト)を 終了("Quit")していないのでは?

mk100
質問者

お礼

レスどうもありがとうございます。 ご指摘の部分に関しては、きちんと記述してあります。 プログラム終了後、タスクマネージャーのプロセスを見る と、エクセルがまだ立ち上がっている状態です。 もちろんWindows終了後に、ファイルを保存しますか?と 聞かれます。

  • kojitti
  • ベストアンサー率32% (449/1386)
回答No.1

おっしゃるとおりだと思います。 EXELへ出力させた後、EXCELはどうやって終了させているのでしょうか。

関連するQ&A

  • VB6.0でExcelを起動したいのですが

    VB6.0でExcelを起動はできて文字もでは制御できたのですが、色をかえたり線を引いたり・プリンターに出力したり・ディスクにかいたりしたいですが、なにかよいサンプルプログラムはないでしょうか。                                        よろしくお願いします。

  • VBの処理結果をEXCELシートへ出力したい

    VB6で処理した結果を、EXCELシートへ編集しプリンターへ出力する方法を教えて下さい。 (1)VBからEXCELをどのようにして、起動させるのか。 (2)EXCELファイルのオープンはどのようにするのか。 (3)BVとEXCEL間の制御が分らない。

  • エクセルファイルの作成/保存

    VB初心者ですみません。 VBでエクセルファイルを新規で開き、ビットマップファイルを貼り付けて名前をつけて保存するプログラムを作っていますが、全くわかりません。 新規で開く方法、ビットマップファイルを貼り付ける方法、名前を付けて保存して閉じるする方法を教えてください。 また、文字のフォントの変更方法、罫線の書き方も教えてください。

  • アクセスからエクセルのテンプレートへの出力

    お世話になっております。 アクセス(クエリ)から テンプレートファイル(エクセル)へ ユーザー単位で出力するには どのようにすれば良いでしょうか? QRY_出力: ユーザー名|ユーザーID|商品|単価|数量|日付 という表示クエリがあり、 このクエリから ユーザー名毎(もしくはユーザーID毎)に テンプレートファイル(エクセル)の「出力Sheet」へ出力した上で、 [ユーザー名]_出力日.xlsx という名前で別名保存したいです。 ※商品×1のユーザーは1レコード  商品×2のユーザーは2レコード・・・の出力のイメージです。 初心者につき、つたない説明かもしれませんが、 ご教示のほどよろしくお願い致します。

  • エクセルで<名前をつけて保存>するマクロに、保存時マクロを含めて保存させることは可能ですか

    エクセル、マクロとも初心者です。 (VBAはわかりません) エクセルのテンプレートファイルを開いて、必要箇所だけ入力すると、その日の日付をファイル名として、<名前を付けて保存する>ようなマクロを作りました。 このままだと、マクロも一緒に保存されてしまいますよね。 マクロを含まずに、<名前を付けて保存>させるマクロって可能ですか? できるとしたら、どうやればいいでしょうか。

  • Excelがセーフモードで起動してしまう

    開発環境、XP Pro、Office 2003 Pro、VB6 実行環境 XP、Office 2003 VBからExcelに結果を出力するプログラムを組んで、数台で動作していたのですが、1台だけ、その作成したプログラムを起動すると。 Excelがセーフモードで起動しようとします、選択するボタンは、はいといいえしかなく、いいえをおすと、プログラムが落ちてしまい、はいを押すと、セーフモードで起動しているので一部機能がつかえませんとメッセージが出て落ちてしまいます。 その後、不正な処理・・・、マイクロソフトに送信しますかというメッセージが出てきます。 その一台だけがおかしいので、Excelのブックを起動すると問題なく起動します。 プログラムでは、起動時には、Excelを起動するように組んでないのですが、起動時Excelが起動しようとします。 以前も他のパソコンであったので、その時は、Excelを再インストールしたら直りました。 (自動修復では直りませんでした) 今回もExcelを再インストールしないと直らないのでしょうか?

  • VB.NET操作で Excelにビットマップ貼り付け

    下記の環境で開発しています。 VB.NET 2005/XP(sp2)/Excel2003(sp2) ビットマップをExcel2003に貼り付けたいのですが、どなたか手法ご存知ないでしょうか? 画像ファイル(Bitmap)→画面に表示→Excelに画像ファイル(Bitmap)を出力といったイメージなのですが… ※Excelを起動して、名前を付けて保存は今のところ上手くいってるようです。

  • VB6.0のエクセル操作について。

    VB6.0のエクセル操作について。 環境:XP,VB6.0です。 VB6.0でのエクセル操作や印刷についての質問です。 VB6.0で、リストビューに表示されている行のデータをエクセルに移してそれを印刷するというプログラムを組みたいのですが、 流れとしては、 1.リストビューから選択行を取得。 2.選択行の項目を既存のエクセルテンプレートに沿ってエクセルに入力。 (出来れば毎回違う名前で保存したいです。) 3.そのエクセルを印刷。 という流れなんですが、とりあえず1番までは出来ているのですが、 2,3の部分、エクセル操作と印刷の部分が分かりません。 ややこしい質問ですが、どなたかご教授お願いします。

  • エクセルのマクロ

    こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

  • VB2005でエクセルファイル作成時のエラー

    現在、VB2005ExpressEditionを使って、データグリッドビューに表示されている値を、エクセル出力するアプリを作成しています。 デバッグでは問題がなかったので、ビルドをし、出来上がった実行ファイルをデスクトップなどに移動させ、そこからアプリを起動したところ、エクセル出力のところでプログラムが異常終了してしまいました。 Releaseフォルダから直接実行ファイルを動かした場合は、正常に動作しました。 そこで、try~catchを使ってエラー箇所を判別しようとしたところ、処理開始以前の宣言のところで、エラーが発生しているようなんです。 以下がその宣言部です。 Dim app As New Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet VBでのエクセルファイル出力はこれが初めてで、VB自体も独学で勉強しているため、かなり的外れな質問になってしまっているかもしれませんが、どうしてもわからないので、どうか教えて下さい。 長文、乱文で失礼いたしました。

専門家に質問してみよう