- 締切済み
マウスクリックした回数がカウンタ変数にならない。
紙ベースの表内文字をカウントするのに、簡単なフォームでカウンタボタンを作成したのですが、マウスクリックの回数が更新されません。ゆっくりクリックすれば変数+1となるのですが早くクリックするとカウントされません。クリックした回数を正しくカウントする方法はありませんか?
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- temtecomai2
- ベストアンサー率61% (656/1071)
マウスじゃなくてキーボードのスペースキー連打で逃げるとかね。
- goosyu
- ベストアンサー率58% (36/62)
・過去に似たような質問と回答がありました。 参考になりそうなので・・・ http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1413205679?fr=rcmd_chie_detail
- goosyu
- ベストアンサー率58% (36/62)
EXCELのVBAでは荷が重いのかもしれませんね,同じような現象が確認できました。 この件は 「エクセルVBAを極める-VBAスーパーテクニック 」が参考になりそうです。 http://home.att.ne.jp/zeta/gen/excel/c04p07.htm マウスの連続クリックって結構速いので,EXCEL-VBAというよりウィンドウズのイベント機構を使った場合は限界があるかも。
- goosyu
- ベストアンサー率58% (36/62)
>紙ベースの表内文字をカウントするのに、簡単なフォームでカウンタボタンを作成したのですが、マウスクリックの回数が更新されません。 →紙にプリントされている文字数をカウントする為にカウンタプログラムを作ったということですよね。 >ゆっくりクリックすれば変数+1となるのですが早くクリックするとカウントされません。クリックした回数を正しくカウントする方法はありませんか? →たぶん,フォーム上ボタン動作が緩慢で取り込みが出来ないということだと理解します。マウスクリックのイベントを直接とってあげれば,上手くいくような気がします。 開発は何で行われていますか?VB.NETとかVB6.0とかofficeとかのVBAとかありますので。
補足
エクセルVBA で作成で下記の様に簡単に考えてました。 (フォーム上では、ボタンはクリックされるのですが) Private Sub CT_Click() Dim CT As Integer CT = COUNT.Value CT = CT + 1 COUNT.Value = CT End Sub
- kazuhisa01
- ベストアンサー率32% (158/487)
マウスのクリックイベントで座標を割り出してカウント許可の座標であればカウントするとか。 早くクリックした際にイベントなどの発生は取得できますか? カウンタボタンとはどのようなものですか? >紙ベースの表内文字をカウントするのに、簡単なフォームでカウンタボタンを作成したのですが のイメージが全くつかめません。
お礼
お~~~っ。ダブルクリックと認識するのですか。 思った様にいきました。単純な事だったのですね。 CPUの性能も影響あるかななんて思ってました。 ありがとうございました。