■ 最新の投稿

役に立たないけど楽しい!Excel VBAで童謡『チューリップ』を演奏(Beep関数)♪

以前、VBAでBeep音を鳴らす方法を紹介しました。

Excel VBAで音を鳴らす(Beep音)

ここでは、童謡「チューリップ」を演奏する方法を紹介します。

次のVBAプログラムを書きます。

Option Explicit

#If Win64 Then
    Private Declare PtrSafe Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
    
    Private Declare PtrSafe Function MessageBeep Lib "user32" (ByVal wType As Long) As Long
#Else
    Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
    
    Private Declare Function MessageBeep Lib "user32" (ByVal wType As Long) As Long
#End If

' チューリップの演奏
Sub TulipBeep()

    ' 童謡「チューリップ」
    Call Beep(261, 1000) 'ド
    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(0, 1000) ' -

    Call Beep(261, 1000) 'ド
    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(0, 1000) ' -

    Call Beep(391.1, 1000) 'ソ
    Call Beep(330, 1000) 'ミ
    Call Beep(293.3, 1000) 'レ
    Call Beep(261, 1000) 'ド

    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(293.3, 1000)  'レ
    Call Beep(0, 1000) ' -

    Call Beep(261, 1000) 'ド
    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(0, 1000) ' -

    Call Beep(261, 1000) 'ド
    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(0, 1000) ' -

    Call Beep(391.1, 1000) 'ソ
    Call Beep(330, 1000) 'ミ
    Call Beep(293.3, 1000) 'レ
    Call Beep(261, 1000) 'ド

    Call Beep(293.3, 1000) 'レ
    Call Beep(330, 1000) 'ミ
    Call Beep(261, 1000) 'ド
    Call Beep(0, 1000) ' -

    Call Beep(391.1, 1000) 'ソ
    Call Beep(391.1, 1000) 'ソ
    Call Beep(330, 1000) 'ミ
    Call Beep(391.1, 1000) 'ソ
    
    Call Beep(440, 1000) 'ラ
    Call Beep(440, 1000) 'ラ
    Call Beep(391.1, 2000)  'ソ
    
    Call Beep(330, 1000) 'ミ
    Call Beep(330, 1000) 'ミ
    Call Beep(293.3, 1000) 'レ
    Call Beep(293.3, 1000) 'レ
    
    Call Beep(261, 2000)  'ド
    
End Sub

VBAエディターに貼り付けた際に、赤文字になっても心配しなくて大丈夫です。

TulipBeep() 関数を実行するだけでチューリップが聴けます。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です