投稿時間: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 、さらに発生したプロシージャ名まで キチンとログ出力するような「デバッグ版」のアプリを作ってテストしてみましょう。
|