返回列表 上一主題 發帖

EXCEL 發出聲音

EXCEL 發出聲音

有一個工作表需要不停輸入資料
能否利用IF 條件, 當輸入資料遇到錯誤時發出聲音
請指教

本帖最後由 av8d 於 2012-6-29 19:38 編輯

回復 1# enoch


   

是這樣嗎?
或是
Dim S1$
If S1 <> "" Then
        With 工作表1.WindowsMediaPlayer1     '加入MediaPlayer播放音樂
            .URL = "D:\我的音樂名稱.mp3"  '請修改音樂檔案
            .Visible = False        '隱藏WindowsMediaPlayer元件
            .Controls.Play          '播放音樂
        End With
End If

備註: 記得先插入一個WindowsMediaPlayer1元件

D:\我的音樂名稱.mp3   看你音樂是放C:還是D:~以上範例是放在D:

TOP

有一個工作表需要不停輸入資料
能否利用IF 條件, 當輸入資料遇到錯誤時發出聲音
請指教
enoch 發表於 2012-6-29 17:56


VBA 內建功能,但非常細聲
  1. if .... then
  2.     Call Beep
  3. end if
複製代碼
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

先要解決的是EXCEL如何能得知你輸入錯誤?
如打一篇文章,打錯字時發聲提醒?

TOP

多謝指教,
原來加上聲音是這麼簡單的方法簡單,
但請問除了 BEEP 外, 還有其它內建的聲音選擇嗎

另外在EXCEL 如何插入WindowsMediaPlayer元件呢

TOP

本帖最後由 oobird 於 2012-6-30 13:26 編輯

http://www.funp.net/955169
原帖的連結:http://qa.pcuser.com.tw/modules/ ... =41630&forum=24

TOP

本帖最後由 av8d 於 2012-7-3 08:25 編輯

回復 5# enoch


   


另外提供你一個可以發出聲音的~
是利用函數去發出聲音的~也蠻實用的~

在 Excel 中, 按 Alt F11 進入 Visiual Basic 編輯器畫面,
點選 [插入]/[模組], 畫面會跳出程式碼視窗, 在裡面複製貼上如下程式:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Function SndPlay(Pathname As String) As Long
SndPlay = sndPlaySound(Pathname, SND_ASYNC)
End Function

然後切換回到 Excel 工作表, 在某個儲存格(不是A1或C5)輸入如下公式:
=IF(A1 < C5,sndplay("C:\Windows\Media\Windows XP 電話鈴聲.wav"),0)

註: 需確定 "C:\Windows\Media\ "裡有 "Windows XP 電話鈴聲.wav" 這個檔案
於是在 A1 和 C5 裡分別輸入數字, 當 A1 小於 C5 的時候,
電腦就會播放電話鈴聲

轉載於 http://tw.group.knowledge.yahoo.com/smt-knowldge/listitem/view?iid=15

TOP

回復 5# enoch
1.自訂函數
2.儲存格寫下公式如:  =IF(A1>5,PlaySound(TRUE),PlaySound(FALSE))
  1. Option Explicit
  2. Function PlaySound(Msg As Boolean)
  3.     Dim Spath As String, Cmd As String
  4.     Spath = "C:\Windows\Media\" & IIf(Msg, "Windows XP 啟動.wav", "Windows XP 登出音效.wav")
  5.     '存放音效的路徑: "C:\Windows\Media\"
  6.     Cmd = "C:\Program Files\Windows Media Player\wmplayer.exe " & Chr(34) & Spath & Chr(34)
  7.     '播放音效的程式: "C:\Program Files\Windows Media Player\wmplayer.exe " <-這裡要空一格
  8.     Shell Cmd, 0
  9. End Function
複製代碼

TOP

不好意思, 我實在不明白錯在那裡,
可否再次指教嗎?

sound.zip (9.87 KB)

TOP

回復 9# enoch
你少了\
Function PlaySound(Msg As Boolean)
    Dim Spath As String, Cmd As String
    Spath = "C:\Windows\Media\" & IIf(Msg, "Windows 開香檳.wav", "Windows 通知.wav")
    '存放音效的路徑: "C:\Windows\Media\"
    Cmd = "C:\Program Files (x86)\Windows Media Player\wmplayer.exe " & Chr(34) & Spath & Chr(34)
    '播放音效的程式: "C:\Program Files\Windows Media Player\wmplayer.exe " <-這裡要空一格
    Shell Cmd, 0
End Function

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題