一、将WAV文件作为背景音乐:
Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwflags As Long) As Long
Sub g()
PlaySound ThisWorkbook.Path + "\s4.wav", 0&, &H1
End Sub
如要进行循环播放,可将&H1改为&H0 or &H8
由于WAV文件的太大,所以一般不宜将其作为背景音乐,只将其调用特定的短声效,例如:掌声,打碎玻璃声等短音效。
二、将MID文件作为背景音乐
Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Sub yybj()
ReturnSoundValue = mciExecute("open " &ThisWorkbook.Path & "\s4.MID ALIAS rsv") '注意open后有一空格
mciExecute "play rsv"
End Sub
'关闭背景音乐
Sub gb()
mciExecute "close rsv"
End Sub
上述方法只能播放一次MID音乐,如要再次播放,又要运行yybj,很不好,下面介绍一种很特别的办法,此办法是本人通过分析《华容道》(ldhyob版作品)代码游戏得出来的。
原理:由于在frontpage中的背景音乐是可以循环播放的,我们可以通过EXCEL中的Microsoft Web控件调用frontpage则可。
方法:
1、先新建一个文件夹,在里面放置一个MID文件,假设其名字是4.MID,再在文件建产一个EXCEL文件,两个frontpage文件。
2、frontpage中制作背景音乐:
将一个frontpage命名为“音乐.htm”,另一个命名为“停止音乐.htm”。
停止音乐文件是一个空文件。
音乐文件可以这样来制作,将其打开,点击右键,在出现的对话框中选择网页属性,在“常规”-“背景音乐”-“位置”中填入“4.MID”,点击确定。再将文件保存。
3、在EXCEL中通过Microsoft Web控件调用“音乐”,“停止音乐”。
A、右击工具栏,在出现的菜单中选择“Visual Basic”,出现“Visual Basic”工具栏,呵呵,我不懂说了,请看图吧:
在这儿我们要注意的是需将Microsoft Web控件尽可能缩得最小,让人看不出它的存在为好!
好了,下面我们进入编程阶段了。
B、进入VB编辑器,双击工程管理器中的thisworkbook,录入下面代码
Private Sub Workbook_Open()
WebBrowser1.Navigate ThisWorkbook.Path & "\音乐.htm.htm"
End Sub
保存代码。
以后每次进入该工作簿后,就会循环播放音乐啦。那么我不想听了怎么办?呵呵,运行下面代码就行了:
sub tzyy()
WebBrowser1.Navigate ThisWorkbook.Path & "\停止音乐.htm.htm"
end sub
这个方法只在当前工作表中有效,如果想在所有工作表中有效,可以考虑使用窗体来实现,原理和上面的方法是一样的,在窗体中加个Microsoft Web控件,并且将窗体的showmodal属性设为false。
|