アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルマクロでListBoxを使ったのですが、そのListBoxにフォーカスが当たっている状態でマウスホイールを回転させるとエラーになります。VB6.5でなるようです。回避策はないものでしょうか?

A 回答 (1件)

[win2000sp4/xl2000sp3/vba6.5 1024]の環境ですが


ワークシート上に配置したMSForms.ListBoxで現象が確認できました。
マウスドライバは Logitech-compatible Mouse PS/2 です。
エラーメッセージは

---------------------------
Microsoft Excel - listboxtest.xls - Safe Mode: EXCEL.EXE - アプリケーション エラー
---------------------------
例外 unknown software exception (0xc00000fd) がアプリケーションの 0x77e0a44b で発生しました。
プログラムを終了するには [OK] をクリックしてください
プログラムをデバッグするには [キャンセル] をクリックしてください
---------------------------
OK キャンセル
---------------------------

---------------------------
Microsoft Excel - listboxtest.xls - Safe Mode: EXCEL.EXE - アプリケーション エラー
---------------------------
"0x600c0af5" の命令が "0x0000004c" のメモリを参照しました。メモリが "read" になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
プログラムをデバッグするには [キャンセル] をクリックしてください
---------------------------
OK キャンセル
---------------------------

こんなです。

excel listbox scroll error

でGoogle検索すると
http://groups.google.com/group/microsoft.public. …
ここがヒットします。
参考になるかもしれません。

もし、私の環境と同じくワークシート上に配置したMSForms.ListBoxで発生していて、クラッシュを回避したい場合は
[フォーム]のExcel.ListBoxを使うか、
ワークシート上にまずMSForms.Frameを配置して、その中にMSForms.ListBoxを置くと回避できるようです。
#ただし、マウススクロールは効きませんが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。マウスドライバは異なりますが、まさに同じ現象です。現象の再現に時間がかかったようであれば、説明不足ですみませんでした。ワークシートに直接ListBoxを貼りつけた場合に現象が出ます。ユーザーフォームでのListBoxでは現象が出ないので、ユーザーフォームに作り変えようかと思っていたところです。アドバイスを参考にどう対策するか検討させていただきます。ユーザーフォームならマウススクロールもMouseMoveイベントなどを捕まえて対応できそうなので。本当にありがとうございました。

お礼日時:2009/06/13 01:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!