エクセルのVBAで、以下のことが可能かどうか教えてください。


持久走大会で使用するストップウォッチを作りました。ノートパソコンを校庭に持ち込んで、ボタンをクリックしてタイマースタート、そしてゴールするたびにALT+英数字でラップを取っていきます。その後、最終的に記録証を発行したり、データを蓄積したりしています。これら一連の作業を1つのブックでできるので、我ながら満足のできばえなのですが、残念なのはラップを取るところです。校庭でノートのパソコン画面はとても見づらくALT+英数字を押すのも、校庭では実用的ではありません。

そこで、以下のことを質問します。
(1)マウスのホイールボタンなど(押すことができるもの)を押すことで、ALT+英数字を押すことと同様の結果を得られるVBAはありますか?(イベントでは無理なのかな?)
(2)マウスが無理なら、それに代わるハードはありますか?

エクセルバージョンは2003です。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2007/10/26 21:47:21
  • 終了:2007/10/27 22:27:19

回答(2件)

id:F-15X No.1

F-15X回答回数111ベストアンサー獲得回数132007/10/26 22:26:54

ポイント35pt

ユーザーフォームを使用してみてはいかがでしょう。

MouseDown イベントでマウスホィールの押下を判断できます。

Option Explicit

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 4 Then '1:左、2:右、4:中央
        MsgBox "マウスホィールが押されました"
    End If
End Sub

ユーザーフォームは以下を参考

http://www.serpress.co.jp/excel/vba016.html

http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html

id:anglar

ありがとうございました。いろいろやってみます。

2007/10/27 22:23:05
id:ymlab No.2

ymlab回答回数506ベストアンサー獲得回数332007/10/26 22:28:27

ポイント35pt

Application.SendKeys でキーを押したことにします。

http://www.geocities.jp/happy_ngi/YNxv9d3.html

http://www.geocities.jp/aono1115/Computer.html

ただ、ちょっとどうでしょう、物理的なストップウォッチもそうなのですが、

ボタン一つでテキストボックスを複数用意してイベントを送るごとに、テキストボックスの

保存先を変更していきます。

その場合、ワイヤレスマウスや、

パワーポイントページ送り機能付きレーザーポインタで代用できます。

http://item.rakuten.co.jp/offima/5486-4573/

(私も授業で、そういうつかいたいことがあって、ちょっと調べたらページ送りコマンドは、

Page Down キー、前のページコマンドPage Upボタンと同じです。

がんばって下さいね。

学校のそういうみんなが作ったソフトを共有することができたらいいのですが・・^^;

id:anglar

お二人ともありがとうございました。ただ、結果的にマウスのボタンの割り付けで解決してしまいました。しかし、教えてもらったことは別のマクロ上で活用できそうです。失礼しました。

2007/10/27 22:24:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません