Microsoft Access ClubAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forum

     

No18015.Excel.Application.Quitでプロセスが終了しない

タイトルExcel.Application.Quitでプロセスが終了しない
記事No: 18015
投稿日: 2005/02/01(Tue) 01:33
投稿者: かつ
OS:xp
Access Version:2k3

どなたか教えてください。
下記のコードであるファイルを開き、そのまま閉じているだけのプログラムなのですが、
エクセルを終了しても、タスクマネージャでプロセスを見るとExcel.exeが起動したままの状態になっています。成城にプロセスを終了するにはどのようにコードを修正すればよいのでしょうか?


=========================================================
private sub test()
Dim oExl As Excel.Application
Dim oExlBook As Excel.Workbook

'Excelファイルオープン
Set oExl = New Excel.Application
oExl.Application.Visible = True
Set oExlBook = oExl.Application.Workbooks.Open("c:\test.xls")

'Excel終了
oExlBook.Close True
oExl.Application.Quit
Set oExlBook = Nothing
Set oExl = Nothing
End sub
=========================================================

タイトルRe: Excel.Application.Quitでプロセスが終了しない
記事No: 18021
投稿日: 2005/02/01(Tue) 09:48
投稿者: ぽち犬
こんにちはー。

> Set oExl = New Excel.Application
    ↓
Set oExl = CreateObject("Excel.Application")

では、どうでしょうか?
(解決しないかもしれませんが)

タイトルRe^2: Excel.Application.Quitでプロセスが終了しない
記事No: 18039
投稿日: 2005/02/01(Tue) 15:01
投稿者: かつ
>こんにちはー。
>
> > Set oExl = New Excel.Application
>     ↓
> Set oExl = CreateObject("Excel.Application")
>
> では、どうでしょうか?
> (解決しないかもしれませんが)


以下のように直しても結果は同じです。
どうしてなんでしょうか?

=========================================================
private sub test()
Dim oExl As Variant
Dim oExlBook As Variant

'Excelファイルオープン
Set oExl = CreateObject("Excel.Application")
oExl.Application.Visible = True
Set oExlBook = oExl.Application.Workbooks.Open("c:\test.xls")

'Excel終了
oExlBook.Close True
oExl.Application.Quit
Set oExlBook = Nothing
Set oExl = Nothing
End sub
=========================================================

タイトルRe^3: Excel.Application.Quitでプロセスが終了しない
記事No: 18041
投稿日: 2005/02/01(Tue) 15:43
投稿者: S.S
横から失礼します。
こちらでは正常に終了されるのですが、確認のため下記のように修正してみてください。
> 'Excel終了
> oExlBook.Close True
> oExl.Application.Quit
oExl.Quit
> Set oExlBook = Nothing
> Set oExl = Nothing
> End sub

ちなみに Excel のバージョンは?

タイトルRe^4: Excel.Application.Quitでプロセスが終了しない
記事No: 18044
投稿日: 2005/02/01(Tue) 19:00
投稿者: かつ
> 横から失礼します。
> こちらでは正常に終了されるのですが、確認のため下記のように修正してみてください。
> > 'Excel終了
> > oExlBook.Close True
> > oExl.Application.Quit
> oExl.Quit
> > Set oExlBook = Nothing
> > Set oExl = Nothing
> > End sub
>
> ちなみに Excel のバージョンは?

修正しましたが、プロセスは残ったままでした・・・・
エクセルのバージョンは2003です。
現在のコードは以下の通りです
==========================================
Private sub test()
Dim oExl As Variant
Dim oExlBook As Variant
Set oExl = CreateObject("Excel.Application")
oExl.Application.Visible = True
Set oExlBook = oExl.Application.Workbooks.Open("c:\test.xls")

oExl.Quit
End Sub
==========================================

タイトルRe^5: Nothingが抜けている
記事No: 18046
投稿日: 2005/02/01(Tue) 20:04
投稿者: しゃく
> Private sub test()
Dim oExl As As Object
Dim oExlBook As As Object
> Set oExl = CreateObject("Excel.Application")
> oExl.Application.Visible = True
> Set oExlBook = oExl.Application.Workbooks.Open("c:\test.xls")
>
> oExl.Quit
Set oExl = Nothing
> End Sub

Set oExl = Nothingが抜けている

タイトルRe^6: Nothingが抜けている
記事No: 18111
投稿日: 2005/02/04(Fri) 00:28
投稿者: かつ
> > Private sub test()
> Dim oExl As As Object
> Dim oExlBook As As Object
> > Set oExl = CreateObject("Excel.Application")
> > oExl.Application.Visible = True
> > Set oExlBook = oExl.Application.Workbooks.Open("c:\test.xls")
> >
> > oExl.Quit
> Set oExl = Nothing
> > End Sub
>
> Set oExl = Nothingが抜けている

普通はQuitすればプロセスは終了するのですが・・・
ちなみにNothingいれても終わりません・・・・

環境の問題でしょうか?

タイトルRe^7: Nothingが抜けている
記事No: 18119
投稿日: 2005/02/04(Fri) 10:23
投稿者: mau
おはようございます。
横から失礼致します。
oExlBookについてもQuitとNothingをしてみては?

タイトルRe^7: Nothingが抜けている
記事No: 18120
投稿日: 2005/02/04(Fri) 10:27
投稿者: ぽち犬
ご無沙汰しましたー。

> > Set oExl = Nothingが抜けている

Set oExlBook = Nothing も抜けてますね。
あと、一応、BookをCloseしてからQuitしたほうがお行儀が良さそう。

一番最初のコードが一番きれいなように思うんですけど…
個人的には、「Dim *** As Object」と宣言するのは好きじゃないです(^^;

> private sub test()
> Dim oExl As Excel.Application
> Dim oExlBook As Excel.Workbook
>
> 'Excelファイルオープン
Set oExl = CreateObject("Excel.Application")
oExl.Visible = True
Set oExlBook = oExl.Workbooks.Open("c:\test.xls")
>
> 'Excel終了
> oExlBook.Close True
oExl.Quit
> Set oExlBook = Nothing
> Set oExl = Nothing
> End sub

↑で、ダメなら、

> 環境の問題でしょうか?

かもしれません。
もしくは、全く別のところで何かが邪魔してるとか。

ちなみに、Accessを閉じれば、Excelプロセスは消えます?


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています


 

ページの先頭へ 前ページへ戻る