listing file attributes

D

#DIV/0

There are lots of posts about listing the contents of a folder and I've got
that.
But I'd like some of the file attributes too (Title, Subject, Comments etc)
and I haven't found a clear posting about that. The opinion seems to be that
you should use FileSystemObject scripting but that's all new territory for me.
I found this:
Set fso = CreateObject("Scripting.FileSystemObject")
Set Folder = fso.GetFolder("C:\DRIVERS")
i = 1
For Each file In Folder.Files
Sheets(1).Cells(i, 1) = file.Name
i = i + 1
Next
which works and a list of the file properties that should be available (0 =
name, 1 = size, 10 = Title etc.) but I don't know how to combine the two
snippets of info.

Can anyone help?
 
B

Bernie Deitrick

David,

If you use early binding rather than late binding, you can use IntelliSense to find out the specific
properties available from the file object. For example, set a reference to MS Scripting Runtime,
then use code like

Option Explicit
Dim fso As Scripting.FileSystemObject
Dim Folder As Scripting.Folder
Dim myFile As Scripting.File

Sub TryNow()
Dim i As Integer

i = 1

Set fso = New Scripting.FileSystemObject
Set Folder = fso.GetFolder("C:\DRIVERS")
For Each myFile In Folder.Files
Sheets(1).Cells(i, 1) = myFile.Name
Sheets(1).Cells(i, 2) = myFile.DateCreated
Sheets(1).Cells(i, 3) = myFile.DateLastAccessed
Sheets(1).Cells(i, 4) = myFile.DateLastModified
Sheets(1).Cells(i, 5) = myFile.Size
Sheets(1).Cells(i, 6) = myFile.Type
i = i + 1
Next myFile

End Sub

When you type myFile. you will get the intellisense list of available properties and methods for
the myFile File object

HTH,
Bernie
MS Excel MVP
 
D

#DIV/0

Hi Bernie,
Sorry for not getting back earlier. The properties/attributes I can access
using this method don't seem to include those I was particularly after -
title, comments, subject.
There's an available property "Attributes" but I can't get that to actually
produce anything.

--
David M
WinXP - Office2003 (Italian)


Bernie Deitrick said:
David,

If you use early binding rather than late binding, you can use IntelliSense to find out the specific
properties available from the file object. For example, set a reference to MS Scripting Runtime,
then use code like

Option Explicit
Dim fso As Scripting.FileSystemObject
Dim Folder As Scripting.Folder
Dim myFile As Scripting.File

Sub TryNow()
Dim i As Integer

i = 1

Set fso = New Scripting.FileSystemObject
Set Folder = fso.GetFolder("C:\DRIVERS")
For Each myFile In Folder.Files
Sheets(1).Cells(i, 1) = myFile.Name
Sheets(1).Cells(i, 2) = myFile.DateCreated
Sheets(1).Cells(i, 3) = myFile.DateLastAccessed
Sheets(1).Cells(i, 4) = myFile.DateLastModified
Sheets(1).Cells(i, 5) = myFile.Size
Sheets(1).Cells(i, 6) = myFile.Type
i = i + 1
Next myFile

End Sub

When you type myFile. you will get the intellisense list of available properties and methods for
the myFile File object

HTH,
Bernie
MS Excel MVP
 

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