掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Excelが既に起動しているか? (ID:142294)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 異なるエラーが出ました。 『異なるエラー』という事は、今までもエラーが出ていたのでしょうか? Excel が起動していないのにエラーになるのは、正常な動作です。 Excel が起動していなかった場合、GetObject は失敗しますので、 そのエラーを Try Catch もしくは On Error で処理する事で、 起動済みかどうかを判定するというのが、この処理の骨子です。 ただし、 > xlApp = GetObject(, "Excel.Application") > MsgBox(xlApp.name) これはいけません。GetObject が失敗した場合、xlApp にはオブジェクトが 割り当てられませんので、その Name プロパティにはアクセスできません。 Name プロパティを利用するなら、起動判定の If 文の後にしましょう。 # ついでにいうと、Marshal.ReleaseComObject の呼び出しを行わずに # ただ Nothing をセットしているだけというのも問題ありますが。 > ヘルプをいろいろ見ていると ヘルプの表記は、その例外処理の定義を表しているだけであって、 利用者のコードに、そのような記述を求めている訳ではありません。 内部例外(InnerException)を扱いたい場合には、On Error の代わりに Try ここにエラーの発生する処理を記述 Catch ex As Exception MsgBox(ex.Message) If ex.InnerException IsNot Nothing Then MsgBox(ex.InnerException.Message) End If End Try といった Try〜Catch 構文を利用する事になります。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.