次の方法で共有

BeforeDoubleClickイベントとユーザフォームの組み合わせで、エクセルが停止する場合がある

Anonymous
2010-11-29T04:53:23+00:00

環境 : Excel2010,Windows7

BeforeDoubleClickイベントとユーザフォームの組み合わせで、エクセルが停止(クラッ

シュ)する場合がある。

<再現方法>

  1. Excel2010でマクロ有効ブックを作成する。
  2. Sheet1の複数セルに、長文(255文字以上)を入力する。
  3. 列の幅を任意に変更する。
  4. ブックにユーザフォーム(UserForm1)を挿入する。
  5. Sheet1のBeforeDoubleClickイベントのコードに、「UserForm1.Show」と記述する。
  6. Sheet1の長文を入力したセルをダブルクリックして、ユーザフォームを表示する。
  7. ユーザフォームを閉じる。

6と7を繰り返すと、エクセルが停止する。

Dell製とhp製の2台のExcel2010で試しましたが、同じ結果でした。

(Excel2003では、この現象は起きませんでした)

なお、文字数や列の幅に関しては、必須条件でない可能性があります。

<回避策>

BeforeDoubleClickイベントのコードに、「Cancel = True」を追記すると、クラッシュ

しないようです。

他人が記述したVBAのトラブルシューティングを頼まれて、ネットを検索しましたが、

類似の情報が見あたらなかったので、ポストしました。

原因が別にある等の情報がありましたら、宜しくお願いします。

テストしたクライアントは、CPU: Core i5、メモリ: 2GB

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

3 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2010-12-02T00:46:22+00:00

    石田さん、閲覧者の皆さん、ありがとうございます。

    類似の事例の報告がないので、ユーザ側に固有の原因があるかな???、と思っています。

    その為、スレッドの種類を「全般的な情報交換」に変更しました。

    ちなみに、ウイルス対策ソフトをアンインストールした状態でも、現象は起きました。

    また、障害モジュール名が別の場合もあるので、参考まで。

    -----イベントビュアーのログ-----

    ログの名前: Application

    ソース: Application Error

    日付: 2010/12/01 11:06:14

    イベント ID: 1000

    タスクのカテゴリ: (100)

    レベル:  エラー

    キーワード: クラシック

    ユーザー: N/A

    説明:

    障害が発生しているアプリケーション名: EXCEL.EXE、バージョン: 14.0.4756.1000、タイム スタンプ: 0x4b9c08e8

    障害が発生しているモジュール名: Comctl32.dll、バージョン: 6.10.7600.16661、タイム スタンプ: 0x4c6f625b

    例外コード: 0xc0000005

    障害オフセット: 0x00030353

    障害が発生しているプロセス ID: 0x458

    障害が発生しているアプリケーションの開始時刻: 0x01cb90fc4fcf68f4

    障害が発生しているアプリケーション パス: C:\Program Files\Microsoft Office\Office14\EXCEL.EXE

    障害が発生しているモジュール パス: C:\Windows\WinSxS\x86_microsoft.windows.common-controls_英数文字列\Comctl32.dll

    以上、ありがとうございました。

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2010-11-30T03:35:52+00:00

    石田さん、こんにちは。

    検証ありがとうございます。

    私でもA1~A5に"あ"を300文字入力して、試しましたが、再現しませんでした。

    しかし、下記、条件のExcelにて試すと、やはり現象が発生しましたので、再度、

    返答します(どこまでが必須条件か不明ですが)。

    A1~E5に"あ"を300文字入力

    列幅

    A列: 99ピクセル

    B列: 76ピクセル

    C列: 100ピクセル

    D列: 90ピクセル

    E列: 96ピクセル

    環境 : Windows7(32bit) + Office Personal 2010

    > 私の方では、 20 回ほど繰り返してみたのですが。。。

    10回未満で現象が発生しています。

    > 私の方では、UserForm1.Show の 1行のみで試しましたが、PermanentTraveler さん

    > の方でも同じように 1行のみの記述でも Excel が停止してしまうということでしょうか?

    その通りです。

    > また、Excel をセーフ モードで起動して試してみるのもいいのかなと思いました。

    セーフモードで試しましたが、Excelは動作を停止しました。

    イベントビュアーのエラーログは下記です。

    -----イベントビュアーのログ-----

    ログの名前: Application

    ソース:  Application Error

    日付:  2010/11/30 12:19:21

    イベント ID: 1000

    タスクのカテゴリ: (100)

    レベル:  エラー

    キーワード: クラシック

    ユーザー: N/A

    説明:

    障害が発生しているアプリケーション名: EXCEL.EXE、バージョン: 14.0.4756.1000、タイム スタンプ: 0x4b9c08e8

    障害が発生しているモジュール名: unknown、バージョン: 0.0.0.0、タイム スタンプ: 0x00000000

    例外コード: 0xc0000005

    障害オフセット: 0x00191fe7

    障害が発生しているプロセス ID: 0x1418

    障害が発生しているアプリケーションの開始時刻: 0x01cb903d5da2c606

    障害が発生しているアプリケーション パス: C:\Program Files\Microsoft Office\Office14\EXCEL.EXE

    障害が発生しているモジュール パス: unknown

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2010-11-30T01:30:07+00:00

    PermanentTraveler さん、こんにちは。

    私も投稿いただいた再現方法で、Excel 2010 のマクロ有効ブックを作成して試してみたのですが、こちらでは Excel が停止するという現象は起こりませんでした。。。

    試した環境は以下の通りで、セルの A1 ~ A5 に "あ" を 300文字入力後、セルの幅を少し広げてから試しました。

     環境 : Windows 7 (32 bit) + Office Professional 2010 Plus

    6 と 7 を繰り返すとありますが、どれくらいの回数を繰り返すと Excel が停止しますでしょうか?

    私の方では、 20 回ほど繰り返してみたのですが。。。

    ちなみに、私の方では、UserForm1.Show の 1行のみで試しましたが、PermanentTraveler さんの方でも同じように 1行のみの記述でも Excel が停止してしまうということでしょうか?

    また、Excel をセーフ モードで起動して試してみるのもいいのかなと思いました。

     ・Office セーフ モードで作業する

     http://office.microsoft.com/ja-jp/excel-help/HP010354300.aspx

    もし同じような現象に遭ったという方で何か情報をお持ちの方がいれば、ぜひご投稿よろしくお願いします。


    石田 優 – Microsoft Support

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません