電子書籍の厳選無料作品が豊富!

VBからExcelを起動し、ごく稀にExcelのプロセスが残ってしまう場合があります。全く同じ条件で実行した場合、残る時と残らない時とありを悩ませています。
いろいろな対策方法が検索できましたが、解決しませんでした。
また、このようにExcelプロセスが残った際、IISの動作がおかしくなっているのか、「CGIエラー」を返します。ただし、exeなど実行系ファイルを実行せず、XXX.HTMなどは表示できます。
VBで記述したexeは、CGI系のアプリとしてブラウザから実行されています。

対処方法ご存知でしたら、教えて下さい。

環境
NT4サーバ+SP6a
Excel97
VB5.0

A 回答 (3件)

プロセスが閉じるまで


タイマーとかで
APIでウィンドウハンドルを取得し、
監視するしかないかもしれないですね。

ちなみにQUITメソッド、
うまくいかないことが多々有ります。

QUITでうまくいかなかったら、
ためしに
VisibleをTrueにしてみたらどうでしょう?

この回答への補足

>ためしにVisibleをTrueにしてみたらどうでしょう?
でもダメでした。

補足日時:2003/09/24 16:29
    • good
    • 0

VB側からEXCELを起動する際のコーディングを


書かなくては、誰一人答えられないと思いますが。

ただ、
ゲットオブジェクトで起動した場合、
(set XXX = GetObject(app,cls))
オブジェクトの開放だけ
(set XXX = nothing)
をしててもプロセスは閉じませんよ。
とだけ。

この回答への補足

kakusukeサン、すみません。コーディングは下記のようにしています。

'オブジェクトの定義
Set ExcelObj = CreateObject("Excel.Application")

'テンプレートのOPEN
ExcelObj.Workbooks.Open FileName:=Path, ReadOnly:=False, IgnoreReadOnlyRecommended:=True

'値の設定
RangeBuff(x, y) = "値"

'Excelへの反映
With ExcelObj
.Range(.Cells(a, b), .Cells(c,d).FormulaR1C1 = RangeBuff

'Excelの終了
ExcelObj.ActiveWorkbook.Close (False)ExcelObj.Quit Set ExcelObj = Nothing

といった形でコーディングしています。

イントラネットで利用しており、1日に多数起動されますが、たまにExcelプロセスのみ残ってしまいます。
どうか回避方法ご存知でしたら教えて下さい。

補足日時:2003/09/15 08:30
    • good
    • 0

お尋ねの件に、直接の答えになってないかも知れないのですが、もしかして。

。というぐらいの気持で聞いてください。

よく言うスパイウエアですが、あれは別にアダルトサイトに行かなくても、うっかり知らない間にインストールしている事があり、本人も自覚がないまま過ごす事があるのですよ。かく言う私もそうでした。

色んな症状がありますが、その症状の1つに、履歴が消えないという事があったのです。でも消える事もあったのです。パソコンの調子を狂わされます。

でそのエクセルのプロセスが残っていると言うのが、もしかしてそうかも。。と思ったのですが。

DLしてスキャンされてみたら如何でしょうか?
で削除して、おかしい?という事があった場合は、リカバリボタンをクリックすると戻ります。

くれぐれも慎重にされてください。         
                      

参考URL:http://enchanting.cside.com/security/spybot1.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!