• ベストアンサー

beep音ではなく音楽(mp3ファイル)を鳴らしたい (VBA)

Sub test() If ●● Then Else "○○.mp3" ’←10秒間ならしたい End If End Sub は可能でしょうか? ご教授よろしくお願いします!!!

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

参考になるかどうかわかりませんが http://www.geocities.jp/nchikada/he/index.htm にあるファイルをダウンロードして、VBエディターで確認すると .WAVのファイルを再生するコードが出ていたと思います。

kuhffd
質問者

お礼

おお!これはすごいですね!参考にします。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3
kuhffd
質問者

お礼

調べてくださってありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

もっとGoogleを活用のこと。 Googleで「vba 音楽再生」で照会したらコード例がたくさん出ます。 ほとんど全て APIをVBAから使う ActiveXコントロールを使う 例だと思うが。 まずそういう例を1,2勉強してやってみて、わからない点を聞くほうがよかろう。

kuhffd
質問者

お礼

わかりました! 今はやりの「ぐぐ」ってみます! ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBAでShapesまたはDrawingObjects

    シート上のフォームなどを表示/非表示するためtest04を書きましたが、「実行時エラー438 オブジェクトはこのプロパティまたはメッソッドをサポートしていません」となります。 しかし、Test05のように同じことをForNextで回せばうまくいきます。 また、Test06のようにShapesをDrawingObjectsに書き換えただけでもうまくいきます。 では、Test04がエラーになるのはなぜでしょうか? Sub test04() With ActiveSheet.Shapes If .Visible = False Then .Visible = True Else .Visible = False End If End With End Sub Sub test05() For Each sp In ActiveSheet.Shapes If sp.Visible = False Then sp.Visible = True Else sp.Visible = False End If Next End Sub Sub test06() With ActiveSheet.DrawingObjects If .Visible = False Then .Visible = True Else .Visible = False End If End With End Sub

  • VBA 加算演算時のトラブル

    事務処理用に準備したVBA処理の数値合計チェックにて本来イコールとなるべきところ、ノットイコールと判定されてしまいます。当該部分を抜き出し、わかりやすくしたものが下記のロジックですが、ここで、test2,test4は結果がイコールとなるものの、test3の場合、ノットイコールとなってしまいます。どなたか、原因につき教えていただけませんか? Dim aaa As Double Dim bbb As Double sub test2() bbb = 16.67 + 16.67 aaa = 33.34 If bbb = aaa Then MsgBox "OK" Else MsgBox "NE" End If End Sub Sub test3() bbb = 16.67 + 16.67 + 16.67 aaa = 50.01 If bbb = aaa Then MsgBox "OK" Else MsgBox "NE" End If End Sub Sub test4() bbb = 16.67 + 16.67 + 16.67 + 16.67 aaa = 66.68 If bbb = aaa Then MsgBox "OK" Else MsgBox "NE" End If End sub

  • VBAでMP3を鳴らしたい

    vbaについて質問です。 MP3ファイルを鳴らしたいのですがうまくいきません。 --------------------------------------------------------- Sub Macro1() Dim SoundFile As String SoundFile = "C:\終了音.mp3" If Dir(SoundFile) = "" Then MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation Exit Sub End If Shell "mplay32.exe /play /close " & SoundFile End Sub --------------------------------------------------------- を実行すると、 「Shell "mplay32.exe /play /close " & SoundFile」 の部分で 実行時エラー53 ファイルが見つかりません。 になります。 しかし、 If Dir(SoundFile) = "" Then MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation Exit Sub End If の部分では問題ないので、ファイルはある事になってると思うのですが、 なぜ「Shell "mplay32.exe /play /close " & SoundFile」の部分でエラーになるのでしょうか? スペックは、エクセル2007、windows7です。 ご回答よろしくお願いします。

  • Excel VBAを簡素化したいのですが動きません

    お世話になります。VBA初心者です。 下記TESTは動くのですが、『If myINT= Then』が永遠に続くので簡素化したく 『Rows("myINT : myINT").Select』これを入れてみたのですが全く動きません。 簡素化した記述を教えて下さい。宜しくお願い致します。 Sub TEST() Dim myINT As Integer myINT = ActiveSheet.Cells.SpecialCells(xlLastCell).Row   If myINT = 1 Then    Rows("1:1").Select    ElseIf myINT = 2 Then    Rows("2:2").Select   ElseIf myINT = 3 Then    Rows("3:3").Select   Else MsgBox "TEST" End If End Sub

  • (VBA)フィルタがかかっているかどうかの判断方法

    フィルタがかかっているかどうかを取得したいのですが フィルタがかかっているシートにて Sub test1() If ActiveSheet.FilterMode Then MsgBox "フィルタがかかってます" End If End Sub Sub test1の1() If ActiveSheet.FilterMode = True Then MsgBox "フィルタがかかってます" End If End Sub を実行しても"フィルタがかかってます"は表示されません。 Sub test2() If Rows(1).FilterMode Then MsgBox "フィルタがかかってます" End If End Sub Sub test3() If ActiveSheet.Rows(1).FilterMode Then MsgBox "フィルタがかかってます" End If End Sub こちらは オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438) になってしまいます。 フィルタがかかっているか調べる方法はありますか? よろしくお願いします。

  • VBAで分岐条件に名前をつける

    If文の条件を外にだしさらに下記のようにIf文の中で論理演算を させるようなプログラムを作りたいにのですが、 ExxelVBAでそのようなことはできますでしょうか? できるとしたら教えてください。よろしくお願いします。 sub test() S1=36 S2=48 ’こういう名前の付け方はできないが、要はS1>0という条件に条件1と名づけたい。 条件1:=S1>0 条件2:=S2>0 IF 条件1*条件2=true then cells(1,1)=1 else if 条件1=true then cells(1,1)=2 else if 条件2=true then cells(1,1)=3 else cells(1,1)=0 end if end sub

  • 音楽ファイルが再生できない(VBA)

    http://qa.nou-college.net/qa4877134.html の続きですが Sub Sample1() Dim SoundFile As String SoundFile = "C:\Users\Music\サザンオールスターズ/希望の轍.mp3" If Dir(SoundFile) = "" Then MsgBox SoundFile & vbCrLf & "がありません。", vbExclamation Exit Sub End If Shell "mplay32.exe /play /close " & SoundFile End Sub を実行すると「ファイルが見つかりません」となります。 他のMP3ファイルでも同じです。 APIを使う方法なら成功しました。 「MsgBox SoundFile & vbCrLf & "がありません。", 」 とならないのでファイルは見つかっているのだと思います。 何か原因がわかる方よろしくお願いします。

  • VBAでのオートタブ?

    エクセルを使って、VBEでのマクロの編集をしています。 その際に、改行した時のオートタブ出来ずに困っています。(正式名称が分かりません) C++でプログラムを書くと、このように ifの範囲では分かりやすくオートタブしてくれるのに      If Range("B4") = "" Then      Exit Sub      End If   Else エクセルのエディターで同じ文章を書くと If Range("B4") = "" Then Exit Sub End If Else となってしまい、非常に読みづらいです。 どのように設定すればオートタブ?してくれるのでしょうか? どなたか教えてください・・・。

  • エクセルVBAで

    お世話になります。 エクセルVBAで簡易プログラムを作成しています。 その中でユーザーフォームを作り、チェックボックスで 6項目からどれか一つ選択する様な仕組みを作っています。 利用者が二つ以上選択(チェック)出来ない様にしたいの ですが、どの様にすれば良いでしょうか。 ちなみに今の記述は下記の様になります。 ご教授下さいます様、宜しくお願い致します。         記 If CheckBox1 = False Then If CheckBox2 = False Then If CheckBox3 = False Then If CheckBox4 = False Then If CheckBox5 = False Then If CheckBox6 = False Then MsgBox "どれか選択して下さい!" GoTo err_jmp Else: mytoki = "3年前から" End If Else: mytoki = "2年前から" End If Else: mytoki = "1年前から" End If Else: mytoki = "半年前から" End If Else: mytoki = "1週間前から" End If Else: mytoki = "昨日から" End If

  • このVBAソースのどこが間違ってるか教えてください

    Dim csp As Integer 'ストップ Dim css As Integer 'ストップorスタート Sub Quest2() If css = 0 Then css = 1 Quest2a Else cstp = 1 css = 0 End If End Sub Sub Quest2a() Sheets("Sheet1").Select Range("B1:J10").Select Selection.Interior.ColorIndex = x1None Range("a1").Select cstp = 0 Do r = 1: c = 5 For i = 0 To 15 If i < 9 Then Cells(r, c).Interior.ColorIndex = x1None r = r + 1 If i < 5 Then c = c + 1 Else c = c - 1 End If Cells(r, c).Interior.ColorIndex = 3 Else Cells(r, c).Interior.ColorIndex = x1None r = r - 1 If i < 13 Then c = c - 1 Else c = c + 1 End If Cells().Interior.ColorIndex = 3 End If 'タイミング For tm1 = 1 To 1000: For tm2 = 1 To 100: Next If cstp = 1 Then Exit For End If Next DoEvents If cstp = 1 Then Exit For End If If r = 3 And c = 5 Then Cells(r, c).Interior.ColorIndex = x1None End If Next DoEvents If cstp = 1 Then Exit Do End If Loop Cells(10, 9) = Cells(r, c) Cells(10, 9).Interior.ColorIndex = 8 End Sub

専門家に質問してみよう