Вам необходимо определить полный путь для промежуточного файла с его именем и расширением (".mid" или ".midi"):
PlayMidiFile "C:\Users\nulik\Desktop\music sairam\Indiana_Jones_And_The_Last_Crusade__Main_Theme.mid", True
PlayMidiFile "C:\Users\nulik\Desktop\music sairam\Indiana_Jones_And_The_Last_Crusade__Main_Theme.mid", False
РЕДАКТИРОВАТЬ: я получил его на работу, как в Excel 2010-32 бит и 2016-64 бит:
Добавьте PtrSafe
в «Частную функцию объявления», если у вас 64-битная система. 32-битная система может иметь PtrSafe
. Выполните «Sub TestPlayMidiFile
» для воспроизведения миди-файла.
Private Declare PtrSafe 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 "G:\Till\robert_miles__fable__dream_remix__unknown.mid", True
MsgBox "Click OK when the MIDI file starts playing..."
MsgBox "Click OK to stop playing the MIDI file..."
PlayMidiFile "G:\Till\robert_miles__fable__dream_remix__unknown.mid", False
End Sub