[リストへもどる]
一括表示

投稿時間:2003/01/16(Thu) 10:33
投稿者名:秋風
Eメール:
URL :
タイトル:
Excel起動チェックについて
こんにちは。

Excelが起動しているかどうかのチェックについて
質問なのですが、

Private Sub Output_Excel_cmd_Click()
    On Error Goto er_
    Dim xlApp As excel.Application
    Dim xlBook As excel.Workbook
    Dim xlSheet As excel.Worksheet

  処理1

    Set xlApp = New excel.Application
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)

  処理2
  Exit Sub

er_:
    MsgBox Err.Description
    xlApp.Quit
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing

としています。今、処理1でエラーが
出た時、Excelは起動していないのに、
er_:時のxlApp.Quitからの処理が
されるので、さらにエラーが出ます。
この時、xlAppで、Excelが起動している
かどうかを調べる方法はありませんか?
こちらの逆ヘルプ表の"エクセルが既に起動されているか調べる"
を確認したのですが、その1では、エラーbナ見て
いますが、現在、処理1でのエラーの為、番号が
429にならない為、使用できませんでした。
その2に関しては、他のExcelファイルが開いている状態で、
exeファイルを実行されてる時には、ちょっと使用できないかなと思いました。
VBみたいに、App.PrevInstanceみたいなのが
あるかなと思い探してみたのですが、分かりませんでした。
お分かりの方教えて下さい。m(_ _)m

投稿時間:2003/01/16(Thu) 10:45
投稿者名:takk
Eメール:takk_neo@hotmail.com
URL :
タイトル:
Re: Excel起動チェックについて
起動チェックというか、VBでExcelのインスタンスを作成したかどうかを調べられれば良いんですよね?
それならxlAppオブジェクトの状態を見れば分かると思います。

    If TypeName(xlApp) = "Nothing" Then

僕はいつもこのように行っています。

投稿時間:2003/01/16(Thu) 10:58
投稿者名:秋風
Eメール:
URL :
タイトル:
Re^2: Excel起動チェックについて
>takkさん。

早速の返答ありがとうございます。
まさしくその通りでした。起動を見るより
情報を取得できれば良かったのですね。
また、こんな簡単な質問が多々でてくる
と思いますが、その時は、是非よろしくお願い
します。ありがとうございました。m(_ _)m

投稿時間:2003/01/16(Thu) 13:55
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Excel起動チェックについて
VB以外からExcelが起動されている場合は問題ないのですか?

投稿時間:2003/01/16(Thu) 15:15
投稿者名:秋風
Eメール:
URL :
タイトル:
Re^4: Excel起動チェックについて
>花ちゃんさん。

返答ありがとうございます。
そうです。そのexeを実行中、別のExcelファイルを開いてもらう
のは、問題ありません。あっ、でも新規で開くとどうなるかはまだ
テストしていません。早速テストしてみて、結果報告します。

投稿時間:2003/01/16(Thu) 15:25
投稿者名:秋風
Eメール:
URL :
タイトル:
Re^5: Excel起動チェックについて
結果報告しますと、実行中にExcelを開いても問題は
ありませんでした。後、先程言い忘れていましたが、
Excelファイルが開いた状態での実行も問題ありません
でした。