Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


74489 / 76732 ←次へ | 前へ→

【6705】Re:メディアプレーヤーコントロールで早送り...
回答  ichinose  - 03/7/26(土) 18:10 -

引用なし
パスワード
   ▼あおいパパ さん:
こんにちは。
>実は,この方法は試してみて,上手くいかなかったのです。
>多分私のプログラムがおかしかったのだと思いますので,HELPを熟読して再度挑戦してみます。この方法が上手くいけば,数字キーに停止や早送りを割り当てられますので,そうするとコントロール用formを表示しなくても良いかも知れませんものね。

UserformのKeydownイベント、問題は、配置してあるコントロールにフォーカスが移った場合にイベントが発生しないことですよね?
仮に以下のフォームを想定してみました。
ユーザーフォーム(Userform1)
   メディアプレーヤー(Mediaplayer1)
   コマンドボタン(Commandbutoon1)--メディアプレーヤーにファイルを設定

コントロールとして配置するのは上のふたつです。
数字キーの機能は

  数字キー
   0:ストップ
   4:巻き戻し
   5:プレイ
   6:早送り
としましょうか

当該ユーザーフォームのモジュールに

'===================================================
Private Sub CommandButton1_Click()
  UserForm1.MediaPlayer1.Filename = "D:\何かのファイル.mpg"
  With MediaPlayer1
    .ClickToPlay = False
    End With
  CommandButton1.Visible = False
  CommandButton1.Visible = True
End Sub

'====================================
Private Sub UserForm_Initialize()
  With MediaPlayer1
   .TabStop = False
   .Enabled = False
   End With
  With CommandButton1
   .TabStop = False
   End With
End Sub

'=====================================
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  With MediaPlayer1
   Select Case KeyCode
    Case 96
     .Stop
    Case 101
     On Error Resume Next
     .Play
     On Error GoTo 0
    Case 102
     If .CurrentPosition + 50 < .SelectionEnd Then
       .CurrentPosition = .CurrentPosition + 50
     Else
       .CurrentPosition = .SelectionEnd
       End If
    Case 100
     If .CurrentPosition - 50 < 0 Then
       .CurrentPosition = 0
     Else
       .CurrentPosition = .CurrentPosition - 50
       End If
    End Select
   End With
End Sub

としましたら、

ユーザーフォームのKeydownイベントが働いてくれました。
0 hits

【6690】メディアプレーヤーコントロールで早送り... あおいパパ 03/7/24(木) 10:32 質問
【6695】Re:メディアプレーヤーコントロールで早送り... ichinose 03/7/25(金) 1:18 発言
【6703】Re:メディアプレーヤーコントロールで早送り... あおいパパ 03/7/26(土) 3:19 お礼
【6705】Re:メディアプレーヤーコントロールで早送り... ichinose 03/7/26(土) 18:10 回答
【6712】Re:メディアプレーヤーコントロールで早送... あおいパパ 03/7/28(月) 1:11 お礼

74489 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free