Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6444 / 9994 ←次へ | 前へ→

【6754】Re:【解決】Re:エクセル出力
回答  小僧  - 05/11/6(日) 20:05 -

引用なし
パスワード
   >>>更には、次にエクセルを起動しようとすれば、起動できなくなっています。
>>>(タスクマネージャーからEXCELを終了させれば、起動出来ましたが・・・)
>>こちらについては原因が 2 点考えられます。
>>1) 上位オブジェクトからの参照ができていない。
>>2) オブジェクトの解放がうまくいっていない。
>この場合は、エラーとなってしまうので、2) でしょうか。

1) の場合でもエラーが出ずに、タスクにマネージャーに Excel の残骸が出来る事があります。

先ほどご提示されたコードには特に 1) に該当する所はなさそうなのですが、

>  Exl.Workbooks.Open FileName:=「パス名+ファイル名」
>  Exl.Workbooks(「ファイル名」).Activate
>  If Exl.ActiveWorkbook.ReadOnly Then

この 3行目を
   If ActiveWorkbook.ReadOnly Then

などとしてしまうと、余計な Excel のインスタンスが形成されてしまい、
残骸が残ってしまう事となります。

当方が気になるのは 2) の方なのですが、

>    Exl.ActiveWorkbook.Close
>    Set Exl = Nothing
>    Exit Function

Exl.Visible = True

を指定して実行すると解りやすいと思うのですが、
Excel.Application は起動されたままになっていますね。

>    Exl.ActiveWorkbook.Close
'追加  
     Exl.Quit
>    Set Exl = Nothing

とすると、うまくインスタンスの解放ができると思います。
(コードの 1部しかご提示されておりませんので、他にも原因があるかもしれませんが)


既に手遅れとなってしまっているかもしれませんが、

>更には、次にエクセルを起動しようとすれば、起動できなくなっています。

とい状態を何回も繰り返していると、
Excel ファイルそのものがおかしくなってしまう事もあります…。
バックアップをこまめにとって大切なファイルを壊さないように気をつけて下さい。
671 hits

【6745】エクセル出力 Mino 05/11/5(土) 15:13 質問
【6747】Re:エクセル出力 小僧 05/11/5(土) 18:00 発言
【6749】Re:エクセル出力 YU-TANG 05/11/5(土) 21:31 回答
【6751】【解決】Re:エクセル出力 Mino 05/11/6(日) 11:41 お礼
【6753】Re:【解決】Re:エクセル出力 小僧 05/11/6(日) 19:53 回答
【6754】Re:【解決】Re:エクセル出力 小僧 05/11/6(日) 20:05 回答
【6755】Re:【解決】Re:エクセル出力 小僧 05/11/6(日) 22:19 発言
【6770】Re:【解決】Re:エクセル出力 Mino 05/11/8(火) 18:57 お礼
【6771】Re:【解決】Re:エクセル出力 YU-TANG 05/11/8(火) 19:13 発言
【6786】Re:【解決】Re:エクセル出力 Mino 05/11/10(木) 9:21 発言
【6789】Re:【解決】Re:エクセル出力 YU-TANG 05/11/10(木) 12:47 回答

6444 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078242
(SS)C-BOARD v3.8 is Free