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


超初心者  2004-12-27 03:39:12  No: 118522

よろしくお願いします。

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 09:02:06  No: 118523

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

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

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


Say  2004-12-27 10:59:01  No: 118524

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


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

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






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