Charles,
Here is a quick and dirty solution that could help out.
But using the FileSystemObject, you can select a folder, then create a text file of all of the file names in that folder. Nothing too fancy. You can change it and have an Input Box request the folder name. NOTE: There is not much error checking in this example...
Hope it helps out.
Jim Mc
Option Explicit
'**********************************************************
' This code was created by Jim McNaughton
' Date: 2003-06-30
'
'**********************************************************
' The purpose of this code is to emulate a Tree Print
' program that I can no longer get on the Internet.
'**********************************************************
Dim objFSO As FileSystemObject
Dim objFolder As Folder
Dim objFiles As Files
Dim objFile As File
Dim objTS As TextStream
Dim sLogFileName As String
Dim sFolderName As String
Dim HoldTime As Date
Dim ElapsedTime As Date
Dim intFiles As Integer
Sub Main()
HoldTime = Now() ' start process
'**********************************************************
' Figure out a way to pass the file name locations to
' this program so that they are not hard-coded...
' Use an InputBox to get a folder name from user?
'**********************************************************
sFolderName = "C:\Program Files\Foldername"
Set objFSO = New FileSystemObject
'**********************************************************
' Figure out a way to pass the file name locations to
' this program so that they are not hard-coded...
' Use an InputBox to get a log file name from user?
'**********************************************************
sLogFileName = "C:\Temp\TreePrint-" & Format(Now(), "yyyy"

& Format(Now(), "mm"

& Format(Now(), "dd"

& ".txt"
Set objTS = objFSO.CreateTextFile(sLogFileName, True)
WriteToLog ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

WriteToLog ("Process started at " & Now())
WriteToLog ("Folder name : " & sFolderName)
WriteToLog ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

WriteToLog (" "
Set objFolder = objFSO.GetFolder(sFolderName)
Set objFiles = objFolder.Files
For Each objFile In objFiles
WriteToLog (objFile.Name)
intFiles = intFiles + 1
Next objFile
ElapsedTime = Now() - HoldTime ' end of process
WriteToLog (" "

WriteToLog ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

WriteToLog ("Files: " & intFiles)
WriteToLog ("Process ended at " & Now())
WriteToLog ("Total elapsed time for process - " & Format(ElapsedTime, "Hh:Nn:Ss"

)
WriteToLog ("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
Set objFiles = Nothing
Set objTS = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
End Sub
'==========================================================
' This is a simple subroutine to write a line to the log file
'==========================================================
Sub WriteToLog(xLine As String)
If xLine > "" Then
objTS.WriteLine (xLine)
End If
End Sub