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
原因を調べておりましたら上記のコードではなく、下記のコードに問題がある様ですが解決には至っておりません。
「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
ツイート | ![]() |