VBAでシステム音を鳴らす方法
を教えてください。
簡単な方法として
http://www.start-macro.com/55/w/s077.html
beep
BeepAPI Lib "kernel32.dll" Alias "Beep"
という二つの方法がありますが、
この音ではなくwindowsの警告音や起動音やシャットダウン音などの
システム音が使いたいのですがどうすれば良いでしょうか?
検索しても分かりませんでしたので
どなたか教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
少し修正。
標準モジュールには
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Const SND_SYNC = &H0 '同期的、演奏が終了するまで呼び出し元に制御は戻りません。
Private Const SND_ASYNC = &H1 '非同期的、すぐに制御が戻ります。
Private Const SND_NODEFAULT = &H2 '指定したファイルが無い場合でも、既定の音を鳴らしません。
Private Const SND_LOOP = &H8 'ずっと繰り返し演奏します。
Private Const SND_NOSTOP = &H10 '既に演奏中であれば何もしません。
Sub playSound(Optional soundFile As String = "c:\windows\media\chimes.wav")
Dim retVal As Long
retVal = sndPlaySound(soundFile, SND_ASYNC + SND_NODEFAULT)
End Sub
Sub stopSound()
Dim retVal As Long
retVal = sndPlaySound(vbNullString, SND_NODEFAULT)
End Sub
としておいて、
実際に呼び出す場合は
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
Call playSound("C:\Windows\Media\Windows Exclamation.wav")
End If
End Sub
などとしておけば良いかと。
Call playSound とだけ指定すればチャイムが鳴ります。
(当方、Windows7 64bit & Excel2010 32bit)
No.2
- 回答日時:
msgbox "vbInformation の音", vbInformation という超手抜きは置いといて。
mciSendString の方が色々と細かい設定が出来るのですが、
鳴らすだけでしたら、sndPlaySound で十分かと思います。
但し、wav ファイル限定です。
以下を標準モジュールにてお試しを。
wav ファイルは、c:\windows\media\ に色々とあります。
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_SYNC = &H0 '同期的、演奏が終了するまで呼び出し元に制御は戻りません。
Const SND_ASYNC = &H1 '非同期的、すぐに制御が戻ります。
Const SND_NODEFAULT = &H2 '指定したファイルが無い場合でも、既定の音を鳴らしません。
Const SND_LOOP = &H8 'ずっと繰り返し演奏します。
Const SND_NOSTOP = &H10 '既に演奏中であれば何もしません。
Sub playSound()
Dim retVal As Long
Dim soundFile As String
soundFile = "c:\windows\media\chimes.wav"
retVal = sndPlaySound(soundFile, SND_ASYNC + SND_NODEFAULT)
End Sub
Sub stopSound()
Dim retVal As Long
retVal = sndPlaySound(vbNullString, SND_NODEFAULT)
End Sub
No.1
- 回答日時:
こんにちは。
Declare Function MessageBeep Lib "user32.dll" (ByVal wType As Long) As Long
http://chokuto.ifdef.jp/urawaza/api/MessageBeep. …
がありますが、
たぶん、こちらがわでしょうね。
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
ret =mciSendString("Play " & SoundFile, "", 0, 0)
SoundFileに、「C:\Windows\Media\」 から選んだものを設定すればよいです。
ただ、こちらで試すと、鳴るものとそうでないものがあるようです。
こちらで試した限りは、反応がすこぶる鈍いです。
一度、Dir *.wav でリストを出したもので使うとよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 やってもうた。windows10起動せず。知恵を貸してください。 2 2023/02/08 11:36
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- その他(パソコン・周辺機器) Windows10パソコンで再生している音をWAVファイルとして録音、保存する方法は? 4 2023/06/15 18:34
- Excel(エクセル) 2列のエクセルの表を変更したい 6 2022/07/01 11:19
- Excel(エクセル) エクセルでフィルタ後の列の重複を回避したい 6 2022/10/13 12:50
- Windows 7 Windows 11へアップグレードする時の方法 7 2023/01/17 23:31
- その他(パソコン・スマホ・電化製品) タブレットにナビゲーションバーを表示させたい。 1 2022/07/24 20:34
- その他(IT・Webサービス) 簡単にホームページを作る方法ないですか? スマホアプリを少しいじったけどわかりませんでした… ショッ 2 2022/11/16 14:59
- Visual Basic(VBA) vbaサブフォルダーをワイルドカードで取得したい 2 2022/11/15 08:04
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBA で警告音
Visual Basic(VBA)
-
VBAでMP3を鳴らしたい
Visual Basic(VBA)
-
エクセルのBEEP音を変更したい
Excel(エクセル)
-
-
4
ピンポーンの音
芸術学
-
5
Accessで音を出したい
その他(Microsoft Office)
-
6
エクセルで条件を満たした場合に音を鳴らしたいです。
Visual Basic(VBA)
-
7
エクセル ボタンクリックでmp3ファイルを再生
Excel(エクセル)
-
8
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
9
エクセル、条件を満たしたら音を鳴らす方法教えて下さい
Excel(エクセル)
-
10
パソコン音声のミュートをVBAから制御するマクロ
Visual Basic(VBA)
-
11
エクセルで音を鳴らしたい
Excel(エクセル)
-
12
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
beep音ではなく音楽(mp3ファイル)を鳴らしたい (VBA)
Access(アクセス)
-
15
【vba】Beep音が鳴らない
Excel(エクセル)
-
16
VBAでの一時停止と再開の方法
その他(プログラミング・Web制作)
-
17
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
18
beep音を変えたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サブフォルダに格納されている...
-
【ExcelVBA】値を変更しながら...
-
IF文、条件分岐の整理方法
-
[VB.net] ボタン(Flat)のEnable...
-
Outlookの「受信日時」「件名」...
-
VBAコードのインデント表示
-
vbaにてseleniumを使用したedge...
-
Excel 範囲指定スクショについ...
-
Excelのマクロについて教えてく...
-
Excel VBA 文字列のセルを反映...
-
Outlookにて既にウィドウ単体で...
-
Excelのマクロについて教えてく...
-
【ExcelVBA】インデックスが有...
-
Excel関数またはVBAでの質問に...
-
VBA 別ブックからコピペしたい...
-
VBA 別ブックから条件に合うも...
-
Excel VBA ダブルクリックで入...
-
時間短縮のために、テキストフ...
-
エクセルのマクロについて教え...
-
VBA ユーザーフォーム ボタンク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAなくなるの?
-
VBAでCOPYを繰り返すと、処理が...
-
vba 削除
-
プログラミング
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルのVBAコードについて教...
-
久しぶりのプログラミング
-
ユーザーフォームに別シートか...
-
エクセルVBAコードで教えて下さ...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAコードについて教え...
-
VBAコードについて教えてくださ...
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
Geogebraの操作方法について
-
マクロの記録を使用したマクロ...
-
Excel(M365) Vlookup/セル反転(...
-
Excel 範囲指定スクショについ...
おすすめ情報