データベースに登録する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 作曲者
このプロパティをデータベースに設定することにする