エクセルが既に起動中か調べた後のプロセス終了について


NAO  2007-03-03 20:33:18  No: 98197

VB6.0 Excel2000環境にて、Excelが既に起動している場合は、下記のように起動中のメッセージを出すだけにしたいのですが、
プログラム起動後にExcelを起動した場合は、起動中のメッセージ表示後にExcelを終了させるとExcelのプロセスも終了するのですが、
プログラム起動前にExcelを起動した場合は、Excelを終了させてもExcelのプロセスが終了しません。
Excelのプロセスがちゃんと終了するようにする為には、どうしたら良いのでしょうか?
ご助言宜しくお願い致します。

    Set xlApp = GetObject(, "Excel.Application")
   If Err.Number Then
      Err.Clear
      Set xlApp = CreateObject("Excel.Application")
   Else
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

      MsgBox "Excel 起動中"
      Exit Sub
   End If


NAO  2007-03-04 09:12:51  No: 98198

原因を調べておりましたら上記のコードではなく、下記のコードに問題がある様ですが解決には至っておりません。

「C:\サンプル.xls」起動後にCommand1⇒Command2を押し「C:\サンプル.xls」を終了した場合にExcelのプロセスが終了しません。
(同一エクセルファイルで無い場合、プロセスは正常に終了します。)

宜しくお願い致します。

Private Sub Command1_Click()

 Dim DB As DAO.Database
 Dim Tbl As DAO.TableDef
 Dim FileName As String

   
    Set DB = OpenDatabase(FileName, True, True, "Excel 8.0;")

    DB.Close
    Set DB = Nothing

End Sub

Private Sub Command2_Click()

 Dim xlApp    As Excel.Application
 Dim xlBook   As Excel.Workbook
 Dim xlSheet As Excel.Worksheet

    On Error Resume Next
    Set xlApp = GetObject(, "Excel.Application")
    
    If Err.Number Then
      Err.Clear
    Else
      Set xlSheet = Nothing
      Set xlBook = Nothing
      Set xlApp = Nothing

      MsgBox "Excel起動中"
      Exit Sub
    End If

End Sub


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加