-PR-

解決済みの質問

質問No.4731814
すぐに回答を!
すぐに回答を!
お気に入り投稿に追加する (0人が追加しました)
回答数1
閲覧数2266
Excel VBA: UserForm.Show で実行時エラー
たびたびお世話になります。
結構大きなフォームを作成して、ようやく開発が終了したのですが、ある時を境に急にフォームを表示しようとすると実行時エラーになります。

 Microsoft Visual Basic
 -------------------------------------------------------------
 実行時エラー'-2147417848 (80010108)':
 'Value' メソッドは失敗しました 'IMdcOptionButton'オブジェクト

このあと、ご迷惑をおかけします、現象を Microsoft に報告しますというメッセージが出ます。
いつもメッセージは一緒です。

不思議なことに、Excel を起動し、Alt+11 で VBE を起動し、フォームを開発用に開き、再生ボタンをクリックしてフォームを表示させると、無事表示されます。
一度無事に表示されると、いつもやっているようにマクロから Show で表示しても表示されます。
これも必ず再現されます。

どうすれば回避できるでしょうか。
何かわかればよろしくお願いします。

OS は Windows XP SP2、
Office は 2007 (12.0.6331,5000) SP1 MSO (12.0.6333.5000) です。

ここまで苦労して開発してテストして、さっき顧客にできたからいまから送ると言ったのに泣きそうです :-(
投稿日時 - 2009-02-19 19:40:51

質問者が選んだベストアンサー

回答No.1
こんにちは。

原因不明なエラーで悩んだときの最初のチェック項目は、「参照設定」
です。参照不可項目があるとき、無関係にみえる場所でもエラーが
発生しますので。

次に、根拠の薄い話。

まずは、確認済み事項から。

えーと、Office の VBA プロジェクトはコンパイルを重ねると序々に
ファイルのサイズが肥大化します。例えば、モジュール内のプロシー
シャを全て削除しても、逆にファイルサイズが増える場合があるという
ことです。

  # 確か、確認したのは Win98SE + Excel2002 環境だったかな

ここからは、推測(私見)。

プロシージャを減らしたのに、ファイルサイズが肥大化するということ
は、修正にともなう何らかの残骸が残る、例えば、コンパイル時に消去
されるべきものが消去されず、蓄積されていくというイメージですよね。

この現象については資料が見つからず、確かなことが私にはわかり
ませんが、VBA プロジェクトの動作に何らかの悪影響を与える可能性は
あるわけです。

したがって、私はある一定の作業量を超えたら、モジュールをエクス
ポートし、再インポートのリフレッシュ作業を行います。

  # つまり、コンパイラに問題があるのではないかと
  # ちなみに、VBA は純粋なインタプリタ言語ではありません
  # Pコードという中間言語にコンパイルされて実行されます

以上が私の私見&経験則。

  # この話は数年前の経験に基づき書いてます。現在では
  # フィックスされていてのかもしれません。

長々書きましたが、次点のアドバイスとして再インポート^^;
投稿日時 - 2009-02-20 13:12:40
この回答を支持する
(現在0人が支持しています)
お礼
ありがとうございます!
「参照」はややこしいので使っていませんでした (^^)
全エクスポート、新規ブック作成、再インポートでバッチリでした。
エラー番号でググったところ、過去に別のエクセルの別のウィジェットで同じ現象になって MS がフィックスしたそうです。
よってこの現象もそのうち対策されるでしょう。
ありがとうございました!
投稿日時 - 2009-02-20 16:40:08
この質問は役に立ちましたか?
6人が「このQ&Aが役に立った」と投票しています
別のキーワードで再検索する
もっと聞いてみる

関連するQ&A

  • question

    実行時エラー'-2147417848(80010108)':エクセルで百マス計算をマクロとフォームを使って自動的に点数を表示する様にして、HPにアップした...

  • question

    \'xjis.nls\'海外在住の友達からのお願いで... \'xjis.nls\'をメールしてと頼まれました。 ...

  • question

    OEとMSO今、OEを使用してますが、 みなさんはORとMSOではどちらをお使いでしょうか? MSO1度見...

回答募集中

この他の関連するQ&Aをキーワードで探す

別のキーワードで再検索する
-PR-

OKWaveのおすすめ情報

特集

同じカテゴリの人気Q&Aランキング

カテゴリ
Visual Basic
-PR-

ピックアップ

ノウハウ共有サイト

-PR-
-PR-