Changing properties of a file with VBA

C

Conan Kelly

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
 
C

Conan Kelly

Chip,

Thanks for the feedback...quick response!!!

Correct me if I'm wrong, but it looks like the DSO OLE Document Properties
Reader 2.1 you referenced in your sheet is only meant to read/write
properties for MS Office files. It doesn't appear to work with MP3 files.

Being that DSO OLE Document Properties Reader 2.1 is written in C++ and I
know nothing about C++, I don't know if it will only work for MS Office
files or for any files...or if it can be modified to work on MP3 files.

Do you have any ideas of how to do this?

Thanks again for all of your help,

Conan






Chip Pearson said:
See http://www.cpearson.com/Excel/DocProp.aspx for code examples to
change the properties of both open and closed files.

Cordially,
Chip Pearson
Microsoft MVP
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)

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
 
J

Jeff Johnson

Correct me if I'm wrong, but it looks like the DSO OLE Document Properties
Reader 2.1 you referenced in your sheet is only meant to read/write
properties for MS Office files. It doesn't appear to work with MP3 files.

Being that DSO OLE Document Properties Reader 2.1 is written in C++ and I
know nothing about C++, I don't know if it will only work for MS Office
files or for any files...or if it can be modified to work on MP3 files.

You're right. There are two separate ways to write these properties. One
deals with OLE documents (Office stuff), as you've discovered, and the other
uses alternate data streams, which is an NTFS-only (i.e., not FAT) concept.
We've discussed this in the VB group recently, maybe no more than three
months ago. Do a Google Groups search for keywords like "NTFS alternate
stream." You could narrow it down by putting my name as the author, since I
made at least one reply in the thread.
 
N

Norm Cook

Conan Kelly said:
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 tabto 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

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/V...g_MP3_ID3v1_and_v2_Tags/MP3_ID3_Tags_Code.asp

Since you state VBA, you will likely need to adapt this
code to your own usage.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top