Excel VBA質問箱 IV

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

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


30463 / 76733 ←次へ | 前へ→

【51537】Re:エクセルでメトロノームを作るには
発言  ichinose  - 07/9/22(土) 17:07 -

引用なし
パスワード
   こんにちは。

>はじめまして。よろしくお願いいたします。
>
>【なぜエクセルで?】
>ほぼどのパソコンにもエクセルがインストールされているので、またVBAをすこし自学したことがあるのでこのように考えました。
>【質問したい内容】
>1.VBAで(おそらくAPIというものを使用するのでしょうが)、GMサウンドを鳴らすにはどのようなコードになるのでしょうか?
>2.作成したマクロに正確なテンポ(これもマシンのクロックや状態によって不安定だそうですが)を与えるにはどのようなコードが必要でしょうか?
>【ご回答いただきたい内容】
>1.とっかかりができれば、その後は自学できますので(APIもふくめて)、VBAを使って音を鳴らす(ファイルをいちいち読み込む形でなく)方法のサンプルコードを教えて欲しいです。
>2.一定間隔でマクロを動作させること方法が分かれば応用できると思うので、そのサンプルコードを教えて欲しいです。
>
メトロノームといえば・・・、私には、あのカチツ、カチツ、カチツ という音が
頭に浮かびますが・・・。
カチツ、カチツ、カチツと言えば、リンクをクリックした時のカチッ という音と
同じように聞こえます。で、その音で試しました。


Win2000 & Excel2002で
メディアコントロールを使うと音は簡単に再現できました。

新規ブックに標準モジュールに

'===========================================================
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub main()
  Dim idx As Long
  Dim ole As OLEObject
  Set ole = ActiveSheet.OLEObjects.Add(ClassType:="WMPlayer.OCX.7", Link:=False, _
    DisplayAsIcon:=False, Left:=0, Top:=0, Width:=200, Height:=200)
  ole.Object.URL = "C:\WINNT\Media\start.wav"
  For idx = 1 To 30
    ole.Object.Controls.Play
    DoEvents
    Sleep 300
    Next
  ole.Delete
End Sub

環境によってコントロールの仕様が違いますが、
メディアプレーヤーをシートに配置し、
事前にカチッという音のWavファイルなりを設定し、

後は、Sleep等で定期的に音を出すと言う方法です。

私の環境では、何となくメトロノームっぽい音はしましたよ!!

検討材料としてみてください

3 hits

【51535】エクセルでメトロノームを作るには tosi 07/9/22(土) 11:11 質問
【51536】Re:エクセルでメトロノームを作るには neptune 07/9/22(土) 15:09 発言
【51537】Re:エクセルでメトロノームを作るには ichinose 07/9/22(土) 17:07 発言
【51541】Re:エクセルでメトロノームを作るには tosi 07/9/23(日) 5:50 お礼

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