EXCELの二重起動をふせぐには?


超初心者  2004-12-26 18:39:12  No: 118522  IP: [192.*.*.*]

よろしくお願いします。

ExcelをVBで起動したいんですが、すでにExcelが起動している場合どうすればいいでしょうか?

Sub Excel()

Dim xlsApp   As Object
Dim xlsBook  As Object
Dim xlsSheet As Object

Set xlsApp = CreateObject("Excel.Application") 
Set xlsBook = xlsApp.Workbooks.Open(FilePath)
Set xlsSheet = xlsBook.WorkSheets(1)
xlsApp.Visible = True

End Sub

これを呼び出すたびに新しいEXCELが立ち上がってしまします。
どなたか教えていただけないでしょうか?

編集 削除
特攻隊長まるるう  2004-12-27 00:02:06  No: 118523  IP: [192.*.*.*]

自分で起動したのであれば変数(xlsApp)をグローバル変数にして
起動したエクセルへの参照を保持するとか…。

別の処理で既に起動したエクセルを見つけたいならとりあえず
過去ログ検索『重起動』あたりでどうぞ。

後者の方が難易度は多少上がります。

編集 削除
Say  2004-12-27 01:59:01  No: 118524  IP: [192.*.*.*]

>ExcelをVBで起動したいんですが、すでにExcelが起動している場合どうすればいいでしょうか?
GetObject 関数
をヘルプで調べてみてください。

編集 削除