首页 > 解决方案 > 如何使用 Excel VBA 更新比特率为 128 kbps 的 MP3 文件的 MP3 文件属性

问题描述

我正在为一组 MP3 设置音轨位置。对于比特率为 64 kbps 的 MP3,此 Sub 工作正常;但是对于比特率为 128 kbps 的 MP3,此 Sub 工作正常,直到 Do While 循环的第二次迭代并在线出错

.LoadFromFile MyFileFullName, False

带有错误消息:

运行时错误 '-2147023170 (800706be)' 自动化错误 远程过程调用失败

你以前在 Excel VBA 中见过这个吗?怎么修?下面是 Sub 的简单代码:

Sub SetMP3FileProperties()

   Dim id3 As Object
   Dim MyFileFullName As String ' full path & file name

   Dim MyNumber As Integer

   Set id3 = CreateObject("CDDBControlRoxio.CddbID3Tag")
   sDir = "C:\Users\BradPC\Music\AbbeyRoad\"

   sFileName = Dir$(sDir & "\*.mp3")
   MyNumber = 1 'Mid(sFileName, 1, 2)

   Do While sFileName > ""
       MyFileFullName = sDir & "\" & sFileName

       With id3
           .LoadFromFile MyFileFullName, False '‹-- here's where it errors on 2nd iteration of the Loop

           .TrackPosition = MyNumber
           .SaveToFile MyFileFullName
       End With

       MyNumber = MyNumber + 1
       sFileName = Dir$
   Loop

   ThisWorkbook.Save
End Sub

标签: excelvba

解决方案


Mp3tag 编辑器(例如 mp3tag.de/en/index.html)可以为一组 MP3 文件分配连续的音轨编号,因此无需编写自定义代码即可。

  • 突出显示您的 MP3 文件组
  • 选择自动编号向导(顶部带有 1-2 的按钮)

推荐阅读