ページ

2007年12月31日月曜日

【vba_excel】Mp3ファイルのタイトル読み込み

MP3のタイトルを表示させるソフトが手元になかったので作って見ることにした。
MP3ファイルをバイナリエディタで開くと後ろの方にタイトルらしきものがあった。
文字数を数えて作ったExcelのマクロは次ようになりました。(Excel97)

Sub ボタン1_Click()
Dim varString As String * 30
Dim Myfile As Variant
'init
a = ""
c = 0
varString = ""
myfilename = Application.GetOpenFilename
mylen = Len(myfilename)
For i = 1 To mylen
a = Mid(myfilename, i, 1)
If a = "\" Then
c = i
End If
Next
pathf = Left(myfilename, c)
drivef = Left(myfilename, 1)
ChDrive drivef 'drive change
ChDir pathf 'path change
i = 1
Myfile = Dir(pathf & "*.mp3")
Do Until (Len(Myfile) = 0)
Sheets(1).Cells(i, 1) = Myfile 'file name
Open pathf & Myfile For Binary Access Read Lock Read As #1
Max = FileLen(pathf & Myfile)
Seek #1, Max - 128 + 4 'Song name
Get #1, , varString
Sheets(1).Cells(i, 3) = varString
varString = ""
Seek #1, Max - 128 + 4 + 30 'artist name
Get #1, , varString
Sheets(1).Cells(i, 2) = varString
varString = ""
Close
i = i + 1
Myfile = Dir()
Loop
End Sub

0 件のコメント: