Enhance the Border Style, Color, and Special Effects of a Text Box Control
The following example demonstrates the BorderColor and SpecialEffect properties, showing each border available through these properties. The example also demonstrates how to control color settings by using the BackColor, BackStyle, BorderColor, and Forecolor properties.
To use this example, copy this sample code to the Script Editor of a form. To run the code you need to open the form so the Open event will activate. Make sure that the form contains:
Six TextBox controls named TextBox1 through TextBox6.
Two ToggleButton controls named ToggleButton1 and ToggleButton2.
Dim TextBox1
Dim TextBox2
Dim TextBox3
Dim TextBox4
Dim TextBox5
Dim TextBox6
Dim ToggleButton1
Dim ToggleButton2
Sub Item_Open()
Set TextBox1 = Item.GetInspector.ModifiedFormPages("P.2").TextBox1
Set TextBox2 = Item.GetInspector.ModifiedFormPages("P.2").TextBox2
Set TextBox3 = Item.GetInspector.ModifiedFormPages("P.2").TextBox3
Set TextBox4 = Item.GetInspector.ModifiedFormPages("P.2").TextBox4
Set TextBox5 = Item.GetInspector.ModifiedFormPages("P.2").TextBox5
Set TextBox6 = Item.GetInspector.ModifiedFormPages("P.2").TextBox6
Set ToggleButton1 = Item.GetInspector.ModifiedFormPages("P.2").ToggleButton1
Set ToggleButton2 = Item.GetInspector.ModifiedFormPages("P.2").ToggleButton2
'Initialize each TextBox with a border style or special effect,
'and foreground and background colors
'TextBox1 initially uses a borderstyle
TextBox1.Text = "BorderStyle-Single"
TextBox1.BorderStyle = 1
TextBox1.BorderColor = RGB(255, 128, 128) 'Color - Salmon
TextBox1.ForeColor = RGB(255, 255, 0) 'Color - Yellow
TextBox1.BackColor = RGB(0, 128, 64) 'Color - Green #2
'TextBoxes 2 through 6 initially use special effects
TextBox2.Text = "Flat"
TextBox2.SpecialEffect = 0
TextBox2.ForeColor = RGB(64, 0, 0) 'Color - Brown
TextBox2.BackColor = RGB(0, 0, 255) 'Color - Blue
'Ensure the background style for TextBox2 is initially opaque.
TextBox2.BackStyle = 1
TextBox3.Text = "Etched"
TextBox3.SpecialEffect = 3
TextBox3.ForeColor = RGB(128, 0, 255) 'Color - Purple
TextBox3.BackColor = RGB(0, 255, 255) 'Color - Cyan
'Define BorderColor for later use (when borderstyle=fmBorderStyleSingle)
TextBox3.BorderColor = RGB(0, 0, 0) 'Color - Black
TextBox4.Text = "Bump"
TextBox4.SpecialEffect = 6
TextBox4.ForeColor = RGB(255, 0, 255) 'Color - Magenta
TextBox4.BackColor = RGB(0, 0, 100) 'Color - Navy blue
TextBox5.Text = "Raised"
TextBox5.SpecialEffect = 1
TextBox5.ForeColor = RGB(255, 0, 0) 'Color - Red
TextBox5.BackColor = RGB(128, 128, 128) 'Color - Gray
TextBox6.Text = "Sunken"
TextBox6.SpecialEffect = 2
TextBox6.ForeColor = RGB(0, 64, 0) 'Color - Olive
TextBox6.BackColor = RGB(0, 255, 0) 'Color - Green #1
ToggleButton1.Caption = "Swap styles"
ToggleButton2.Caption = "Transparent/Opaque background"
End Sub
Sub ToggleButton1_Click()
'Swap borders between TextBox1 and TextBox3
If ToggleButton1.Value = True Then
'Change TextBox1 from BorderStyle to Etched
TextBox1.Text = "Etched"
TextBox1.SpecialEffect = 3
'Change TextBox3 from Etched to BorderStyle
TextBox3.Text = "BorderStyle-Single"
TextBox3.BorderStyle = 1
Else
'Change TextBox1 back to BorderStyle
TextBox1.Text = "BorderStyle-Single"
TextBox1.BorderStyle = 1
'Change TextBox3 back to Etched
TextBox3.Text = "Etched"
TextBox3.SpecialEffect = 3
End If
End Sub
Sub ToggleButton2_Click()
'Set background to Opaque or Transparent
If ToggleButton2.Value = True Then
'Change TextBox2 to a transparent background
TextBox2.BackStyle = 0
Else
'Change TextBox2 back to opaque background
TextBox2.BackStyle = 1
End If
End Sub
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.