Visual Basic Procedure to Change the Standard Font (114795)



The information in this article applies to:

  • Microsoft Excel 97 for Windows

This article was previously published under Q114795

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. 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 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:

  • Using Microsoft Excel 5.0 for Windows, you can add the entry Font=<fontname,size> in the EXCEL5.INI file. For example, if you want to change the Normal style to 10-point Arial, add the following entry:

    Font=Arial,10

    -or-

  • From the Tools menu, choose Options, and then select the General tab. You can set the Standard Font by selecting a font and size from the drop-down lists. -or-

  • Change the Font for the Sheet Style by choosing Style from the Format menu and changing the Font from there.

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."

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbProgramming KB114795