Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2013)
音楽ファイル mp3 タグ情報編集につて
投稿日時: 19/10/06 15:56:44
投稿者: 黄金山

こんにちは、久しぶりに質問させてもらいます。
 
mp3のTAG情報を編集し、個別のアルバム等を作りたいと思っています。
TAG情報の取得は下記のプロシージャで取得できたのですが、
変更後の情報でmp3のTAG情報を書き換えたいのですが、その方法が分かりません。
 
Sub 情報取得()
    'タグ情報取得
    Dim FSO As Variant, SHell As Variant, Folder As Variant
    Dim Songs As Variant, i As Long, Target As String
    Songs = Application.GetOpenFilename(FileFilter:="MP3ファイル,*.mp3", MultiSelect:=True)
    If Not IsArray(Songs) Then Exit Sub
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set SHell = CreateObject("Shell.Application")
    Set Folder = SHell.Namespace(FSO.GetFile(Songs(1)).ParentFolder.Path)
    For i = 1 To UBound(Songs)
        Target = FSO.GetFile(Songs(i)).Name
        Cells(i + 2, 1) = Folder.GetDetailsOf(Folder.ParseName(Target), 0) 'ファイル名
        Cells(i + 2, 2) = Folder.GetDetailsOf(Folder.ParseName(Target), 13) '参加アーティスト
        Cells(i + 2, 3) = Folder.GetDetailsOf(Folder.ParseName(Target), 14) 'アルバム
        Cells(i + 2, 4) = Folder.GetDetailsOf(Folder.ParseName(Target), 16) 'ジャンル
        Cells(i + 2, 5) = Folder.GetDetailsOf(Folder.ParseName(Target), 21) 'タイトル
        Cells(i + 2, 6) = Folder.GetDetailsOf(Folder.ParseName(Target), 27) '長さ
    Next i
    Set Folder = Nothing
    Set SHell = Nothing
    Set FSO = Nothing
End Sub
 
単に Folder.GetDetailsOf(Folder.ParseName(Target), 0) = Cells(i + 2, 1) のように
左辺等辺を置き換えるだけではダメでした。
 
よろしく、お願いします。

回答
投稿日時: 19/10/06 18:34:09
投稿者: simple

ちび坊主さんというかたが 11/01/31 11:49:11に下記の発言をされています。
 

引用:
たぶん、バイナリで開いて、タグ情報探して、バイナリ書き換えるって操作が必要になるかと
思います。
参考、サンプル
http://www.takaaki.info/id3/

要するに読めることは読めるが、値の更新は簡単にはできないということで、
それなりに調べないといけない領域ということですね。
頑張ってください。

投稿日時: 19/10/07 11:00:04
投稿者: 黄金山

simple様
 
ご回答ありがとうございました。
やはりVBAでは、無理のようですね。
リンク先を見ましたが、私には、ハードルが高過ぎるようです。
 
ありがとうございました。
 
今週いっぱい、このトピックスは開いておきます。

投稿日時: 19/10/11 14:57:24
投稿者: 黄金山

その後いろいろなサイトを検索してみましたが、VBAで希望の処理ができるサイトは見つかりませんでした。
検索してみて気が付きましたが、いたる所で私と同じような質問を垣間見ることができました。
も少し調べてから質もすればよかったと反省しています。
 
回答いただいた、simple様、これで解決済みとさせていただきます。
ありがとうございました。