VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/07/11(Fri) 12:11
投稿者花ちゃん
Eメール
URL
タイトルRe^5: GetObjectで実行時エラー429が出ます・・。

> >1.どのような時にエラーがでるのですか?
> Excelが起動されている場合にはちゃんと"Excel はすでに起動中です。"とメッセージボックスが出ま>した。どうもエラーになるのはExcelが起動されていない場合限定のようです。

貴方は、このサンプルで一体何がしたいのでしょうか?

[最初の時の回答内容]
#どのような時に、どのようなエラーがでるのでしょうか?

#もちろん、ここの説明は読んでおられますよね!

#  'Microsoft Excel が既に起動されているかどうかを調べます。
#  '第 1 引数を指定せずに GetObject 関数を呼び出すと、
#  'アプリケーションのインスタンスへの参照が返されます。
#  'Microsoft Excel が起動されていないと、エラーが発生します。
#  Set xlApp = GetObject(, "Excel.Application")

#当然、この 「Microsoft Excel が起動されていないと、エラーが発生します。」エラーとは
#違うんですよね

#このために、On Error Resume Next があるのですが、これを削除しているのですか?

上記の最初回答でも言っているようにこのサンプルはエクセルが既に起動中かどうかを調べる
サンプルです。
Set xlApp = GetObject(, "Excel.Application") でExcelが起動されていないと
エラーが発生するのを利用してExcelが起動されているかどうかを調べている
サンプルです。
従って、当然Excelが起動されていないとエラーが発生します。
そのためにOn Error Resume NextやIf Err.Number ThenやErr.Clearを使用
しています。

こういったエラーの発生を逆利用したプログラムは他にも結構あります。
(あまり、感心はしませんが、簡単なので)

もう一度、よく、サンプルの各行の動作を理解して見て下さい。


> >3.私の元々のコードでもでるのですか?
> う〜ん・・。出るようです・・。
プログラムを実行中にエラーが発生して止まりますか?とお聞きしているのです。
エラー処理をしているので、実行中はエラーが発生しているかどうかは解らない
はずです。(デバッグ中は別ですよ)


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -