投稿日 | : 2003/08/01(Fri) 22:11 |
投稿者 | : KR |
Eメール | : |
URL | : |
タイトル | : Excelファイルの起動確認 |
はじめまして、こんにちは。
当方、現在、VB実行ファイルと同じフォルダにあるExcelファイルをVBから起動して表示する
処理を行っています。
Excelファイルの二重起動を防ぐために、Excelのインスタンスを確認し、開いているExcelファイル
名を調べているのですが、VBで起動するファイル以外を先に手動で起動してしまうと、
先に起動したExcelファイル名は調べることができるのですが、肝心のVBで起動したExcelファイル名が
取得できません。
また別フォルダにある同名のExcelファイルの起動は許可をしたく思います。
何かよい方法はないでしょうか。
現在のソースは以下の通りです
------------------------------------------------
Dim This_xlApp As Excel.Application
Dim obj_wrk As Workbook
On Error Resume Next
'Excelが起動中かを確認
Set This_xlApp = GetObject(, "Excel.Application")
If Err.Number Then
'エラーが発生した(Excelが起動してない)場合は Err オブジェクトをクリアします
Err.Clear
Else
'Excelはすでに起動中の場合
'起動中のExcelファイルの名称とパスを確認します
For Each obj_wrk In This_xlApp.Workbooks
'ファイル名を比較して、一致した場合は対象のファイルが起動中と判断します
If 起動確認したいファイル名 = obj_wrk.Path & "\" & obj_wrk.Name Then
Msgbox "すでに起動しています。"
End If
Next obj_wrk
End If
-------------------------------------------------------
環境は VB6.0
OS/WinMe
Excel/Excel2000 です。
APIの使用等、何でも構いませんので
どうかご教授の程、何卒宜しくお願いいたします。