Loading
Word.Tips.Net WordTips (Menu Interface)

Printing a File List

Users of WordPerfect may be familiar with the feature that allows you to print the contents of a directory. Indeed, it can be very handy to have a printout of all the documents in a directory. Unfortunately, Word does not have an intrinsic command that allows you to accomplish the same task. There are a couple of ways you can approach this problem, however.

The first is the old tried-and-true DIR method, which has been used by "techies" since the days of DOS. Simply open a command prompt (MS-DOS) window, locate the directory for which you want a list, and then type the following command:

dir /b > mydir.txt

This creates a text file (mydir.txt) that contains only the names of the files in the directory. You can then locate the file in Word and load it as a document. While this approach is not a single step, it is not particularly difficult, either.

If you would like a macro solution to the problem, you can use the following. It displays the standard Open dialog box, in which you can browse for the directory for which you want a list. When you select a file in that directory and click on Open, the macro creates a new Word document that lists all the files that the directory contains. Note that you must select a file from the directory.

Sub ListFiles()
    Dim PathWanted As String
    Dim Temp As String
    Dim i As Integer

    With Dialogs(wdDialogFileOpen)
        .Name = "*.*"
        If .Display = -1 Then
            Documents.Add
            PathWanted = Options.DefaultFilePath(wdDocumentsPath)
            Selection.TypeText "Files in " & PathWanted & ":" & vbCrLf
            With Application.FileSearch
                .LookIn = PathWanted
                .FileName = "*.*"
                If .Execute > 0 Then
                    For i = 1 To .FoundFiles.Count
                        Temp = .FoundFiles(i)
                        While InStr(Temp, "\") > 0
                            Temp = Mid(Temp, InStr(Temp, "\") + 1)
                        Wend
                        Selection.TypeText Temp & vbCrLf
                    Next
                End If
            End With
        End If
    End With
End Sub

If you want to limit the files returned by the macro (for instance, to only those ending in .DOC), then you can change the file specifications ("*.*") in two of the program lines.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1148) applies to Microsoft Word 97, 2000, 2002, and 2003.

Related Tips:

Tremendous Table Tips! We often take tables for granted, but Word includes some very powerful ways you can present your tabular data. Discover how to make your tables better, easier to understand, and more effective. Check out WordTips: Terrific Tables today!

 

Comments for this tip:

Gururaj    31 Aug 2012, 08:39
Although it does not show in the HTML page, there is a backslash () in the macro that I just posted.
Gururaj    31 Aug 2012, 08:37
There is a backslash in the macro I used, yet I get an error:

Sub ListFiles()
    Dim PathWanted As String
    Dim Temp As String
    Dim i As Integer

    With Dialogs(wdDialogFileOpen)
        .Name = "*.*"
        If .Display = -1 Then
            Documents.Add
            PathWanted = Options.DefaultFilePath(wdDocumentsPath)
            Selection.TypeText "Files in " & PathWanted & ":" & vbCrLf
            With Application.FileSearch
                .LookIn = PathWanted
                .FileName = "*.*"
                If .Execute > 0 Then
                    For i = 1 To .FoundFiles.Count
                        Temp = .FoundFiles(i)
                        While InStr(Temp, "") > 0
                            Temp = Mid(Temp, InStr(Temp, "") + 1)
                        Wend
                        Selection.TypeText Temp & vbCrLf
                    Next
                End If
            End With
        End If
    End With
End Sub
---------------
Thanks in advance for any other suggestions.
awyatt    30 Aug 2012, 09:34
In the two instances of Instr(Temp,"") shown in my code, below, there should be a backslash between the quote marks.

-Allen
awyatt    30 Aug 2012, 09:32
This works in 2007 and 2010:

Sub ListFiles2()
    Dim PathWanted As String
    Dim FName As String
    Dim Temp As String

    With Dialogs(wdDialogFileOpen)
        .Name = "*.*"
        If .Display = -1 Then
            Documents.Add
            PathWanted = Options.DefaultFilePath(wdDocumentsPath)
            Selection.TypeText "Files in " & PathWanted & ":" & vbCrLf
            
            ChDir PathWanted
            FName = Dir("*.*")
            While FName <> ""
                Temp = FName
                While InStr(Temp, "") > 0
                    Temp = Mid(Temp, InStr(Temp, "") + 1)
                Wend
                Selection.TypeText Temp & vbCrLf
                FName = Dir
            Wend
        End If
    End With
End Sub

-Allen
Gururaj    30 Aug 2012, 08:37
I am getting the same error as John for the macro in Windows 7 and Word 2007. With Application.FileSearch
This command is not available on this platform.
John Conklin    08 May 2012, 12:44
Is there an updated version of this code that will work on Windows 7 in Word 2010?

I am getting an error saying that this command is not avaialable on this platform.

With Application.FileSearch

Thanks,
~John

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 3+4? (To prevent automated submissions and spam.)
 
          Commenting Terms
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2013)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2013)

Our Products

Premium Newsletters

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2014 Sharon Parq Associates, Inc.