Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

MP3からTag情報を抽出する方法

データベースに登録するTag情報をどうやって楽曲から抽出するか。 旧版のExcel Playerでは以下の方法で取得

ShellオブジェクトのNamespaceメソッドでFolderオブジェクトを作成。
FolderオブジェクトのGetdetailsofメソッドでファイルのプロパティを取得

Office TANAKA - 番外編[MP3の「曲の長さ」を調べる]

Rebuild版作成に当たり調べてみたが、他に良さそうな手段が見当たらなかったので、引き続きGetdetailsofメソッドで取得してみる。

Sub Song_Property()
    Dim FSO As Object
    Dim objShell As Variant
    Dim objFolder As Variant
    Dim i As Long
    Dim Song As Variant
    
    Set FSO = CreateObject("Scripting.Filesystemobject")
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace("G:\Music\Frost\Milliontown\")
    Song = FSO.getfile("G:\Music\Frost\Milliontown\01 Hyperventilate.mp3").Name
    For i = 0 To 1000
        Cells(i + 1, 1).Value = i
        
        'ファイルのプロパティ名を取得
        Cells(i + 1, 2).Value = objFolder.getdetailsof(objFolder.parsename(objFolder), i)
        
        'ファイルのプロパティ値を取得
        Cells(i + 1, 3).Value = objFolder.getdetailsof(objFolder.parsename(Song), i)
    Next i  
End Sub  
  

試しに1曲情報を取得してみると、僕の環境(Win2007・Excel2013)、音楽ファイル運用方では
・288種類のプロパティ
・上記の内36種類のプロパティに値有り

36種類のプロパティの内、Excel Playerに使えそうなのは以下の通り
ID プロパティ
14 アルバム
15 年
16 ジャンル
20 作成者(※アーティスト名)
21 タイトル(※曲名)
26 トラック番号
27 長さ(※再生時間)
180 パス
195 発行元(※発売レーベル)
220 作曲者

このプロパティをデータベースに設定することにする