VBA

엑셀에서 소리내기

캐스트 2010. 6. 11. 14:36
안녕하세요. 오랫만의 포스팅입니다.

개인적인 사정으로 오랫동안 포스팅을 못했는데 앞으로도 잘 할수 있을지 미지수입니다....


원문 : http://www.cpearson.com/Excel/PlaySound.aspx


오늘은 엑셀에서 소리를 내는 것입니다.

엑셀에서는 소리를 내기위한 명령어로서 beep명령이 있습니다.

그런데 이것만으로는 좀 단순하고 다양한 소리를 낼 수 없을까요?

API를 이용하면 가능합니다.

우선 선언을 먼저 해줍니다.

Public Declare Function sndPlaySound32 _
    Lib "winmm.dll" _
    Alias "sndPlaySoundA" ( _
        ByVal lpszSoundName As String, _
        ByVal uFlags As Long) As Long

그리고 아래와 같이 실행만 시키면 됩니다.

Sub playthefile()
    sndPlaySound32 "C:\WINDOWS\Media\chimes.wav", 0&
End Sub

간단하죠? sndPlaySound32 뒤에 경로를 포함한 파일명을 써주면 됩니다.

원문으로가서 보시면 이 명령에 부가적인 기능을 추가해서 몇가지 더 만들어 놨으니 살펴보시기 바랍니다.

그런데 아직 엑셀에서 MP3를 연주하거나 하는 기능은 아직 잘 모르겠습니다. 여기저기 찾아봐도 Wave 파일은 연주하는 법만 나와있네요.

나중에 알게 되면 포스팅하겠습니다.