bottom
Great WordTips!
         
Your e-mail address is safe!
Close Note

Tips.Net > WordTips Home > Files > Marking Multiple Documents

Marking Multiple Documents

Summary: After using Word for a while, it is easy to accumulate quite a few documents. At some point you may want to make a change to each of the documents in a folder. This tip explains the basics of how to easily make such a change, without the need to manually open and edit each document. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)

Glenn was searching for a way to "place a mark" on a document to indicate that it had been archived. Further, there were many such documents to mark, so a way to load them, add the mark, and save them again was desirable.

There are many different ways that such a task can be achieved. The differences are determined by exactly how the "mark" is placed in a document. Obviously, the word "Archive" (or some such terminology) could be added to a document, but that would affect the actual appearance of the document itself, which is often undesirable.

There is a solution that doesn't involve any visible marks to the document--use document properties. You can set a custom document property that would indicate whether the document has been archived or not. You could later search for the property to determine which files meet your criteria.

The following macro will load all the documents in a directory (and possibly any subdirectories), and either create or set a custom document property indicating that the document has been archived. In this case, the custom property is named Archive, and it is set to a True (Yes) condition.

Public Sub SetArchive()
    Dim bExists As Boolean

    With Application.FileSearch
        .LookIn = "C:\"             ' where to search
        .SearchSubFolders = True    ' search the subfolders
        .FileName = "*.doc"         ' file pattern to match

        ' if more than one match, execute the following code
        If .Execute() > 0 Then
            For i = 1 To .FoundFiles.Count
                ' Open the file
                Documents.Open FileName:=.FoundFiles(i)

                ' Begin document changes

                ' See if the doc variable exists
                bExists = False
                For Each varItem In ActiveDocument.CustomDocumentProperties
                    If varItem.Name = "Archive" Then
                        bExists = True
                        Exit For
                    End If
                Next varItem

                If Not bExists Then
                    ' Add and set document property
                    ActiveDocument.CustomDocumentProperties.Add _
                      Name:="Archive", LinkToContent:=False, _
                      Type:=msoPropertyTypeBoolean, Value:=True
                Else
                    'Already exists, so just set it
                    ActiveDocument.CustomDocumentProperties("Archive") = True
                End If

                ' End document changes

                ' Force document to be saved
                ActiveDocument.Saved = False
                ' Save and close the current document
                ActiveDocument.Close wdSaveChanges
            Next i
        Else
            ' Could not find any DOC files
            MsgBox "No files found."
        End If
    End With
End Sub

To use the macro, just change the directory specification in the fifth line of the macro (starts with .LookIn). Once it is run, the Archive property is created and set in each of the documents. You can view the results by loading one of the files, choosing File | Properties | Custom. The Archive property should be visible in the dialog box.

There is one interesting thing about this macro. Notice that you must "force" the document to be saved by setting the Saved property for the document to False. If you don't do this, then your custom property isn't saved. Why? Apparently Word doesn't recognize a change to a custom property--including adding one--as a reason to save a document. Thus, unless you force the Saved property to False, Word doesn't recognize that any changes have occurred in the document.

If you prefer to not use the custom property approach to marking your archive, you can make some changes to this macro to achieve the desired results. All you need to do is replace the code between the "Begin document changes" and "End document changes" comments with what you want done to the document. For instance, if you want a watermark placed in the document, then simply replace the noted code with code that creates and places the watermark.

Tip #1647 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003


Create and Merge! Discover how to use Word's mail merge tool to create your own custom documents. WordTips: Mail Merge Magic includes all the information you need to make your merges more productive.

Helpful Links

Ask a Word Question
Make a Comment

Tips.Net Home
Vital News Home

WordTips FAQ
WordTips Premium

Learn Access Now

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Pet Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

 

Great Info!

Get tips like this every week in WordTips, a free productivity newsletter. Enter your e-mail address and click "Subscribe."
     
(Your e-mail address will never be shared with anyone, ever.)