问题
Is it possible to increase the font size of message box in Access 2013 via vba code?
From this
to this
Some users are over 40 years old. They require a bigger size of font for viewing. Thanks!
回答1:
The font size of system error boxes is a system control and would need to be changed on all individual computers.
You could instead trap the error in VBA and display your own messages via a UserForm, which would allow you to control the message and the font.
So, instead of
If countDuplicate > 0 Then
MsgBox _
"A record of this Part ID already exist. No changes can be made.", _
vbCritical, _
"Duplicated Record"
Me.Undo
End If
You would have the following:
If countDuplicate > 0 Then
frm_AlreadyExists.Show
Me.Undo
End If
Where frm_AlreadyExists is a form that you would create and would have the message you listed above.
That should get you started. As a further step, instead of having a separate UserForm for each error, you could create an error table that would contain Error ID, Error Message, Error Type, Error Title columns.
Error ID Error Message Error Type Error Title Button Action Button Text
1 A record ... already exist. Critical Duplicated Record SubName1 Click Here
2 ... not a valid EMPLOYEE Critical Invalid GID SubName2 Click Here
Then you would call the UserForm with the following:
If countDuplicate > 0 Then
ErrorID = 1 'You'll need to declare this variable elsewhere in your code
frm_AlreadyExists.Show
End If
And the code to initialize the UserForm (in the UserForm code module)
Private Sub UserForm_Initialize()
Dim lErrorID As Long
Dim sErrorMessage As String
Dim sErrorType As String
Dim sErrorTitle As String
Dim sBtnText As String
lErrorID = errorID
''Look up the following from the Error Table
'sErrorMessage = Result from lookup
'sErrorType = Result from lookup
'sErrorTitle = Result from lookup
'sBtnText = Result from lookup
Me.lbl_ErrorMessage = sErrorMessage
Me.img_ErrorType.Picture = "C:/File Location/" & sErrorType & ".jpg"
Me.Caption = sErrorTitle
Me.btn_Action.Caption = sBtnText
End Sub
And the code for the button click
Private Sub btn_Action_Click()
Dim sBtnAction As String
''Look up the following from the Error Table
'sBtnAction = Result from lookup
Application.Run sBtnAction
End Sub
With this and some tweaking and messing with code, you can now have a custom error/message system that would allow you (or even the user) to set the font for the messages.
来源:https://stackoverflow.com/questions/23892754/increase-the-font-size-of-message-box-in-microsoft-access-2013