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

投稿日: 2006/06/02(Fri) 18:06
投稿者魔界の仮面弁士
Eメール
URL
タイトルRe: Run-time error '91' 何それ・・・(?_?)

インストーラを組んで、きちんとセットアップしていますか……?
日本語用のサテライトライブラリが組み込まれないと、メッセージが英語になったりしますよ。

> Run-time error '91'
> Object variable or With block variable not set
通常なら、『オブジェクト変数または With ブロック変数が設定されていません。』エラーですね。
「Nothing」状態にある変数に対して、プロパティやメソッド操作を行おうとした場合に発生します。


> これってどんな時に発生するのでしょう?
極端な例でよいなら、
 On Error Resume Next
  Dim O As Object
  Set O = GetObject(,"Excel.Application")
  On Error GoTo 0
 O.Visible = True  'Excelが起動済みだった時はOK、事前に起動されていなかったらエラー91
とか、
  With CreateObject("ADODB.Recordset").ActiveConnection
    MsgBox .ConnectionStrig   'この部分でエラー91
  End With
といった場合とか。

もう少しありそうなパターンとしては、
・何らかの処理が失敗したが、On Error によるエラー対応が不十分であったため、エラールーチンの
 最中あるいは直後に、未初期化または解放済みのオブジェクトを操作してしまい、エラーで落ちた。
・グローバル変数を多用していたために、変数の有効期間が曖昧になっていたため、結果として、
 なにかしらの条件下において「まだ使用されている変数まで解放してしまう」というバグを含んでいた。
とか。他にもまぁいろいろと。

> PowerPointの起動に失敗したのでしょうか?
ソースを持っている当事者がわからないのであれば、掲示板を見ている第三者には
もっとわからないと思いますよ。(^^; 再現性が無いならなおの事。

逆に再現性があるようなら、Erl や Err.Source 、さらに発生したプロシージャ名まで
キチンとログ出力するような「デバッグ版」のアプリを作ってテストしてみましょう。


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

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

- VBレスキュー(花ちゃん) - - Web Forum -