ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用Excel做一个简易的音频播放器?

如何用Excel做一个简易的音频播放器?

作者:绿色风 分类: 时间:2022-08-17 浏览:139
楼主
轩辕轼轲
Q:有时候公司的电脑禁用了播放器,导致连听歌的要求都无法实现,有没有用办公软件做的播放器,不留痕迹地突**管对电脑的限制?
A:用VBA调用WMP组件就可以播放WMP能支持的所有格式的音频文件,实现代码如下:
第一步:在Sheet1里面添加三个按钮播放本地文件、播放网络文件、和停止播放,并在Sheet1里面添加下面的代码:
  1. Dim Mp3File, LastMp3File As String
  2. Private Sub CommandButton1_Click()
  3.     Mp3File = Application.GetOpenFilename("*.mp3,*.mp3", , "打开mp3文件")
  4.     If Mp3File = False Then    '没有打开任何MP3文件
  5.         Mp3File = LastMp3File
  6.         Exit Sub
  7.     End If
  8.     MMStop (LastMp3File) '停止正在播放的MP3文件
  9.     LastMp3File = Mp3File
  10.     MMPlay (Mp3File)
  11.     Cells(1, 1) = "播放的文件为:" & Mp3File
  12. End Sub
  13. Private Sub CommandButton2_Click()
  14.     MMStop (Mp3File)
  15.     Cells(1, 1) = ""
  16. End Sub
  17. Private Sub CommandButton3_Click()
  18. Mp3File = "http://www.xixivi.com/attachments/month_1001/42010121223423.mp3"     '此处根据自己的需要修改
  19.     MMPlay (Mp3File)
  20.     Cells(1, 1) = "播放的文件为:" & Mp3File
  21. End Sub

第二步:创建一个公共模块,并添加下面的代码:
  1. Option Explicit
  2. Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  3. Public Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
  4. Private Function ConvShortFilename(ByVal strLongPath$) As String
  5.     Dim strShortPath$
  6.     If InStr(1, strLongPath, " ") Then
  7.         strShortPath = String(LenB(strLongPath), Chr(0))
  8.         GetShortPathName strLongPath, strShortPath, Len(strShortPath)
  9.         ConvShortFilename = Left(strShortPath, InStr(1, strShortPath, Chr(0)) - 1)
  10.     Else
  11.         ConvShortFilename = strLongPath
  12.     End If
  13. End Function
  14. Public Sub MMPlay(ByRef FileName As String)
  15.     FileName = ConvShortFilename(FileName)
  16.     mciSendString "close " & FileName, vbNullString, 0, 0
  17.     mciSendString "open " & FileName, vbNullString, 0, 0
  18.     mciSendString "play " & FileName, vbNullString, 0, 0
  19. End Sub
  20. Public Sub MMStop(ByRef FileName As String)
  21.     FileName = ConvShortFilename(FileName)
  22.     mciSendString "stop " & FileName, vbNullString, 0, 0
  23.     mciSendString "close " & FileName, vbNullString, 0, 0
  24. End Sub

效果见下方附件:

用Excel做的简易音频播放器.rar
2楼
亡者天下
跟着四车学习VBA

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap