"Conan Kelly" <(E-Mail Removed)> wrote in message
news:G4jXk.44025$_(E-Mail Removed)...
> Hello all,
>
> x-posted:
> microsoft.public.excel.programming
> microsoft.public.vb.general.discussion
>
> I was wondering if it is possible to change a property of a file
> (right-click file in Windows Explorer (or [Alt] + [Enter]) >> Summary tab
> >> "Advanced" button >> desired property) using VBA? Specifically, I want
> to change the "Title" property of an MP3 file.
>
> I'm using VBA in XL 2003 to do this. Right now, I have a loop that will
> loop through each file and change the name of the file according to my
> specifications using the File System Object in the Scripting Runtime
> library. I want to have the code change the "Title" property of the file
> to the file name (minus the extension), but it doesn't look like I can
> access these properties using the FSO (or any other object) in the
> Scripting Runtime library.
>
> Does anyone know if it is possible to change these properties via code?
> What objects I need to use/libraries I need to reference?
>
> Thanks for any help anyone can provide,
>
> Conan Kelly
>
>
>
> ---------------------------
> "Smokin' weed kills your brain cells. Drinkin' only screws up your
> liver...ya got 2 a those."
> - Earl Hickey (NBC's "My Name is Earl")
MP3 files may have ID3 tags. In general there
are two types of tag:
ID3V1 tags are simple, a 128 byte block of data that is
appended to the end of the file & contain
String literal "TAG"
Artist (30 bytes)
Title(30)
Album(30)
Comment(30)
Year(4)
Genre(1) ' for a lookup of standard genres
ID3V2 tags are more complex, variable in length, and, except
for some versions, are prepended at the beginning of the file. They
allow for all of the above info plus much more, such as
Custom Genre, Composer, Lyrics, Album image, BPM, etc.
Some references:
http://id3.org/ for general reading
http://id3.org/Developer_Information
This page has code to read/write your own tags:
http://www.vbaccelerator.com/home/VB..._Tags_Code.asp
Since you state VBA, you will likely need to adapt this
code to your own usage.