XL: Visual Basic Procedure to Change the Standard Font

ID: Q114795

The information in this article applies to:

SUMMARY

This article includes a sample Visual Basic, Applications Edition, procedure you can use to change the standard font in Microsoft Excel. This procedure may be useful if you are creating a custom application and you want to be able to change the Normal style font automatically.

If you want this procedure to run automatically when you start Microsoft Excel, you can make it into an Auto_Open macro and place it in your Personal.xls file.

Sample Visual Basic Procedure

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 the Microsoft fee-based consulting line at (800) 936-5200. 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/refguide/

The following macro has both Auto_Open and Auto_Close sub procedures that execute when applicable. The Change_Font sub procedure is executed whenever you switch to another window or open a new book. The subroutine contains a MsgBox dialog that will prompt you to change the standard font for the book. If you choose OK in this alert message, the Fonts dialog box will be displayed, allowing you to specify a new font.

'Runs the Change_Font sub procedure whenever you open a new
'window or switch to another book.
Sub Auto_Open()
    Application.OnWindow = "Change_Font"
End Sub

'This procedure will run each time a new window is displayed.
Sub Change_Font()
    'If the active sheet is a worksheet or macro sheet then
    'ask the user if they want to change the Normal style font.
    If TypeName(ActiveSheet) = "Worksheet" Then
       response = MsgBox("Do you want to change the Normal style?", 1)
       'If user chooses Cancel, then stop the procedure.
       If response = vbCancel Then End
       'If user chooses OK, then display the Fonts dialog box.
       Application.Dialogs(xlDialogStandardFont).Show
    End If
End Sub

'Discontinues the OnWindow function when the book containing the
'subroutines is closed.
Sub Auto_Close()
        Application.OnWindow = ""
End Sub

MORE INFORMATION

Other ways you can change the standard font include the following:

REFERENCES

For more information about the Personal.xls file, see pages 22-23 of the Microsoft Excel 5.0 "Visual Basic User's Guide."

For more information about Creating Automatic Procedures, see page 266 of the Microsoft Excel 5.0 "Visual Basic User's Guide."

Additional query words: 5.00 5.00c 7.00 7.00c howto 8.0 8.00

Keywords          : kbprg kbdta KbVBA 
Version           : WINDOWS:5.0,7.0,97
Platform          : WINDOWS

Last Reviewed: May 17, 1999