Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers 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 requirements.
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, 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
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:
- In the Project Explorer window of Visual Basic Editor,
double-click ThisWorkbook in the current project.
This opens a module for code
that is associated with the workbook. - In the Object list for this module, click Workbook.
- In the Procedure list for this module, click BeforePrint.
- Enter the code so that the Workbook_BeforePrint procedure resembles the following:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ThisWorkbook.Path = "" Then ActiveSheet.PageSetup.LeftFooter = ThisWorkbook.Name
Else ActiveSheet.PageSetup.LeftFooter =
ThisWorkbook.Path & _ Application.PathSeparator & ThisWorkbook.Name End If
End Sub
- 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.
Using Ampersand (&) in the File Name
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