XL: How to Add the Workbook Path to the Footer

ID: Q142140


The information in this article applies to:
  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95, versions 7.0, 7.0a
  • Microsoft Excel for Windows, version 5.0
  • Microsoft Excel for the Macintosh, version 5.0


SUMMARY

This article contains a sample Microsoft Visual Basic for Applications macro (Sub procedure) that adds the workbook path and file name to the footer of a worksheet.


MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:

http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The following macro adds the current path and file name to the left footer of the active worksheet. The workbook must be saved before you can add any path information to the footer.

Sub UpdateFooter()
   ActiveSheet.PageSetup.LeftFooter = ActiveWorkbook.FullName
End Sub 
To insert a Visual Basic module into a workbook in Microsoft Excel versions 5.0 and 7.0, click the Insert menu, point to Macro, and click Module. In Excel 97 for Windows, press ALT+F11 to start the Visual Basic Editor; then, click Module on the Insert menu.

Before you run the macro, switch to the workbook and the sheet for which you want to display the path in the footer. After you run the macro, the footer should contain the complete path and file name of the workbook.

Alternative Method for Excel 97

You can also use the BeforePrint workbook event to run a Sub procedure that adds the current path and file name to the left footer of the active worksheet before the workbook is printed. The workbook must be saved before you can add any path information to the footer. To create the Sub procedure in the active workbook, follow these steps:
  1. Press ALT+F11 to start the Visual Basic Editor.


  2. In the Project Explorer window of the Visual Basic Editor, double-click ThisWorkbook in the current project.

    This opens a module for code that is associated with the workbook.

    NOTE: If the Project Explorer window is not visible, click Project Explorer on the View menu.


  3. In the Object list for this module, click Workbook.


  4. In the Procedure list for this module, click BeforePrint.


  5. Enter the code so that the Workbook_BeforePrint procedure resembles the following:


  6. 
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
        ActiveSheet.PageSetup.LeftFooter = ThisWorkbook.FullName
    End Sub 
  7. On the File menu, click Close and Return to Microsoft Excel.


When you print the workbook, the footer is automatically updated before the workbook is printed.

NOTE: Before printing, make sure to save the workbook or the entire path and file name will not appear.

Using Ampersand (&) in the File Name

In Excel 7.0 and later, if the file name contains an ampersand (&), it may not display correctly. This is because Excel treats the ampersand as a special character in the header and footer. To display an ampersand in the header and footer, repeat the ampersand twice (&&). To do this in the macro, use the Replace function in Visual Basic for Applications:

Sub UpdateFooter()
    ActiveSheet.PageSetup.LeftFooter = Replace(ActiveWorkbook.FullName, "&", "&&")
End Sub 


REFERENCES

For more information about the LeftFooter property, activate a Visual Basic module, click Answer Wizard on the Help menu, and type:

Tell me about the LeftFooter property
For additional information about getting help with Visual Basic for Applications, please click the article number below to view the article in the Microsoft Knowledge Base:
Q163435 VBA: Programming Resources for Visual Basic for Applications

Additional query words: xl97 xl5 xl7 custom header header/footer

Keywords : kbprg kbdta kbdtacode PgmHowto KbVBA
Version : MACINTOSH:5.0; WINDOWS:5.0,7.0,7.0a,97
Platform : MACINTOSH WINDOWS
Issue type : kbhowto


Last Reviewed: September 2, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.