標題:
[發問]
有關播放插件音效檔問題
[打印本頁]
作者:
jimmyhk
時間:
2011-10-19 06:45
標題:
有關播放插件音效檔問題
由於欲於 Excel VBA 加入圖像訊息提醒外,
近日亦開始加入話音提示.
另為了減少 xls 檔案的容量,
我把播放的音效檔分為兩類,
一類是視窗內置有的音效檔,
我使用以下方式播放.
Private Declare Function sndPlaySound32 _
_
Lib "winmm.dll" _
Alias "sndPlaySoundA" ( _
ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Sub PlayFunishWavFile()
sndPlaySound32 "C:\Windows\Media\tada.wav", 0&
End Sub
複製代碼
當要播放的時候只用 application.run "PlayFinishWavFile" 這一句就可以.
這個方法於 Excel 2003 和 2007 皆沒有出現問題.
第二類的音效檔我以物件的方法插入到 Excel 內,
使用巨集錄取的方法取得以下代碼.
Sub PlayWelcomeWavFile()
Sheets("Data_Field").Select
Sheets("Data_Field").Shapes("Object 1410").Select
Selection.Verb Verb:=xlPrimary
End Sub
複製代碼
當要播放的時候只用 application.run "PlayWelcomeWavFile" 這一句就可以.
這個方法於 Excel 2003 沒有出現問題,
而且效果我十分滿意.
但當我把這個檔案移至 2007 執行時,
出現了以下問題:
1. 原於檔案始首執行的
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.Visible = False
複製代碼
, 於第一次執行播放插件音效檔時這兩個指令就會失效,
會自行顯示回來.
2. 於播放音效檔時會彈出 Windows Media Player, 但於 2003 執行時不會有這個情況.
請問問題出在那裡, 是 2007 的問題還是...?
請指教
作者:
jimmyhk
時間:
2011-10-23 07:02
本帖最後由 jimmyhk 於 2011-10-23 07:04 編輯
由於欲於 Excel VBA 加入圖像訊息提醒外,
近日亦開始加入話音提示.
另為了減少 xls 檔案的容量,
我把播放 ...
jimmyhk 發表於 2011-10-19 06:45
今早在網上這裡 http://blogs.technet.com/b/csstwplatform/archive/2010/02/06/windows-vista-7-cannot-add-movie-ole-object-using-office-2007.aspx 找到一篇解說,
現在大致明白為何同樣插入的音效檔 (wav) 於 2003 和 2007. (更正, 是在 XP 和 windows7 ) 會有不同的反應.
但現在未有方法可以解決這個相容的問題.
(如只是單一要該 xls 檔案在 03 上執行, 或只在 07 上執行, 則沒有這個問題.)
大家有沒有什麼可解決的方法或想法?
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)