Les fichiers sonores au format MIDI sont souvent longs, il peut donc être nécessaire d’arrêter la lecture du son (par exemple lorsque la macro est terminée). Voici un exemple:

Private Declare Function mciExecute Lib "winmm.dll" _

(ByVal lpstrCommand As String) As Long

Sub PlayMidiFile(MidiFileName As String, Play As Boolean)

If Dir(MidiFileName) = "" Then Exit Sub ' no file to play

If Play Then

mciExecute "play " & MidiFileName ' start playing

Else

mciExecute "stop " & MidiFileName ' stop playing

End If

End Sub

Sub TestPlayMidiFile()

PlayMidiFile "c:\foldername\soundfilename.mid", True

MsgBox "Click OK when the MIDI file starts playing..."

MsgBox "Click OK to stop playing the MIDI file..."

PlayMidiFile "c:\foldername\soundfilename.mid", False

End Sub