1. 아별툴
  2. 아별툴 패밀리
  3. 엑셀 질문하기
  4. 엑셀 강좌
  5. 엑셀 팁
  6. 엑셀 자료실
  7. 엑셀 연구과제
  8. 엑셀 북마크
  9. 관련 프로그램 소개

엑셀에서 소리 내기(재생) _ sound play

기타 조회 수 4574 추천 수 0 2010.12.13 02:31:03

질문하기 게시판에 어떤 분이 질문하셨던 내용을 답변으로 작성했던 내용입니다.

 

답변을 얻으신 다음에, 게시물을 삭제해서 팁란에 게시합니다.

 

그러시면 안되죠.. =_=;;

그럼.. 제가 작성한 답변은 뻘짓인가요? =_=;;

 

 

질문의 내용은 아래와 같았습니다.

     1. 엑셀에서 소리내는 방법

     2. 특정 영역에 데이터가 0또는 1로 바뀔때 각각 다른 소리 내는 방법

     3. 수식으로 연결된 셀도 원 데이터가 바뀌여서 연결된 값이 바뀔때도 소리 나게 하는 방법

 

 

답변으로 만든 파일입니다.

다운받기 : 

abyul_playSound_20101118-3.xlsm

abyul_playSound_20101118-3_64bit.xlsm

 

소스는 아래를 참고하세요..

 

[ WorkSheet의 코드]

Private Sub Worksheet_Change(ByVal Target As Range)
    '엑셀 시트에서 "$C$5:$C$9" 범위를 "monitorRange"라는 이름으로 정의해두었습니다.
    With [monitorRange]
        If Target.Column < .Column Or Target.Column > .Column + .Columns.Count - 1 Then Exit Sub
        If Target.Row < .Row Or Target.Row > .Row + .Rows.Count - 1 Then Exit Sub
    End With
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Value = 1 Then Call testSound1
    If Target.Value = 0 Then Call testSound2
End Sub

Private Sub Worksheet_Calculate()
    Call checkChanged
End Sub

Sub checkChanged()
    Dim i As Integer
    For i = 1 To [monitorRange].Cells.Count
        If [monitorRange].Cells(i) <> [bufferRange].Cells(i) Then
            If [monitorRange].Cells(i) = 1 And [bufferRange].Cells(i) = 0 Then
                Call testSound1
            ElseIf [monitorRange].Cells(i) = 0 And [bufferRange].Cells(i) = 1 Then
                Call testSound2
            Else
                Call copyToBuffer
            End If
        End If
    Next i
End Sub

Private Sub Worksheet_Deactivate()
    Call copyToBuffer
End Sub

Sub copyToBuffer()
    [bufferRange].Value = [monitorRange].Value
End Sub

 

 

[ Module 부분의 소스 ]

'http://support.microsoft.com/kb/158140/ko
   Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" _
       (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
   Const SND_ASYNC = &H1
  
   Sub testSound1()
       If Application.CanPlaySounds Then Call sndPlaySound32("C:\WINDOWS\Media\tada.wav", SND_ASYNC)
   End Sub
   Sub testSound2()
       If Application.CanPlaySounds Then Call sndPlaySound32("C:\WINDOWS\Media\notify.wav", SND_ASYNC)
   End Sub

 

 

참고로.. 소리내는 소스는 아래 코드도 참고해보세요.

 

'======================================================================================
'http://support.microsoft.com/kb/86281/ko

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 testSound1()
   SoundName$ = "C:\WINDOWS\Media\tada.wav"
   wFlags% = SND_ASYNC Or SND_NODEFAULT
   x% = sndPlaySound(SoundName$, wFlags%)
End Sub
               
Sub testSound2()
   SoundName$ = "C:\WINDOWS\Media\notify.wav"
   wFlags% = SND_ASYNC Or SND_NODEFAULT
   x% = sndPlaySound(SoundName$, wFlags%)
End Sub


댓글 '1'

Chris

2015.11.01 02:21:14
*.89.132.243

완젼 좋네요 감사합니다^^

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 기타 엑셀 VBA 간단한 팁 모아놓기.. +_+ [레벨:30]아별 2007-01-24 25623
64 기타 오피스2010 64bit(64비트)를 위한 API Declare 방법 _ 윈도우 도움말 file [레벨:30]아별 2017-04-21 424
63 기타 [VBA] 컴퓨터 이름 알아내기 등 PC 환경 변수 읽오이기.. Environ [레벨:30]아별 2015-04-08 1324
62 기타 [VBA] 엑셀 파일을 PDF로 저장(EXPORT) 시키기 [1] [레벨:30]아별 2015-01-21 3416
61 기타 [펌] 추가 기능 개발시 리본메뉴에 넣을 MSO Image 쉽게 확인하기 imagefile [레벨:30]아별 2015-01-09 865
60 기타 엑셀 2013에서 웹 브라우저 컨트롤(ActiveX, web browser)을 시트에 삽입할 수 없는 문제.. imagefile [레벨:30]아별 2014-01-19 2087
59 기타 [ VBA Tip ] 엑셀 VBA로 사진(JPG)의 EXIF 정보(GPS 포함) 불러 들이기.. imagefile [6] [레벨:30]아별 2012-02-27 4936
58 기타 VBA로 인디언식 이름 만들어주는 사용자 정의 함수 만들기.. imagefile [1] [레벨:30]아별 2012-01-11 3069
57 기타 오피스2010 64bit(64비트)를 위한 API Declare 방법 file [2] [레벨:30]아별 2011-10-05 5510
56 기타 [펌] VBA 공부를 시작하시는분들에게 추천하는 강의자료 imagefile [4] [레벨:30]아별 2011-03-21 10934
55 기타 VBA _ 레지스트리 다루기 ( registry control ) imagefile [레벨:30]아별 2011-03-19 4894
» 기타 엑셀에서 소리 내기(재생) _ sound play file [1] [레벨:30]아별 2010-12-13 4574
53 기타 헷갈리기 쉬운 워크시트 함수와 VBA함수 비교표 imagefile [레벨:30]아별 2010-10-05 4362
52 기타 기본 제공 대화 상자 실행하면 초기 값 설정 imagefile [레벨:30]아별 2010-08-25 3765
51 기타 [펌] 엑셀 VBA 총정리 _ Excel 개체 모델 참조 등 image [2] [레벨:30]아별 2010-03-09 10743
50 기타 [링크] VBA로 파일을 다루는 방법에 대한 강좌들을 모아놓은 겁니다. [레벨:30]아별 2010-03-03 7206
49 현재 엑셀 파일의 색상표(Color Chart) 확인용 코드 [레벨:30]아별 2009-12-24 5273
48 [펌] Visual Basic (비쥬얼 베이직) 함수 정리 imagefile [레벨:30]아별 2009-11-27 15598
47 엑셀 사용자 정의 수식(UDF)에 도움말 넣는 방법. [레벨:30]아별 2009-11-11 3966
46 Excel에서 메뉴 및 메뉴 모음을 사용자 지정하는 방법 image [레벨:30]아별 2009-11-04 5162
45 기타 엑셀 기본 제공 대화 상자 인수 목록 file [레벨:30]아별 2009-11-04 5847