|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
对象嵌入不懂,
如果音频文件很小,可以直接把WAV以二进制写到工作表中,需要时从工作表中读取播放
试试:
- Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
- Sub PutWAVinSht()
- Dim btData() As Byte, i
- Open "D:\Downloads\my.wav" For Binary Access Read As #1
- ReDim btData(LOF(1) - 1)
- Get #1, , btData
- Close #1
- ''Call sndPlaySound(btData(0), &H5)
- For i = 0 To UBound(btData)
- Cells(i + 1, 1) = btData(i)
- Next i
- MsgBox "ok"
- End Sub
- Sub GetWAVinSht()
- Dim ar, dr() As Byte, r&, x&
- r = Range("A" & Rows.Count).End(xlUp).Row
- ar = Range("A1:A" & r)
- ReDim dr(0 To UBound(ar) - 1)
- For x = 1 To UBound(ar)
- dr(x - 1) = ar(x, 1)
- Next
- Call sndPlaySound(dr(0), &H5)
- End Sub
复制代码
有限制,数据不能超工作表最大行数 1048576 行;
音频文件一般数据较大,十秒、几秒的音频可能就超工作表最大行数了,
当然,也可将数据分多列写入来处理……
|
|