Untitled
unknown
plain_text
2 years ago
3.8 kB
10
Indexable
Option Explicit
' Global declaration for the textBox for references
Dim textBoxReferences As MSForms.textBox
Dim selectedCategory As String
Dim selectedOptions As String
Dim eDocTypes As Variant
Private Sub TextBox1_Change()
' Automatically remove all spaces from the textBoxReferences
textBoxReferences.Text = Replace(textBoxReferences.Text, " ", "")
End Sub
Private Sub UserForm_Initialize()
Me.caption = "Send Email"
Me.Width = 300
Me.Height = 350
' Create Frame for job type selection
Dim frameJobType As MSForms.Frame
Set frameJobType = Me.Controls.Add("Forms.Frame.1", "frameJobType", True)
With frameJobType
.caption = "Select Job Type:"
.left = 20
.top = 20
.Width = 100
.Height = 80
End With
' Create OptionButton for Bookings
Dim optBookings As MSForms.OptionButton
Set optBookings = frameJobType.Controls.Add("Forms.OptionButton.1", "optBookings", True)
With optBookings
.caption = "Bookings"
.left = 40
.top = 25
End With
' Create OptionButton for Shipments
Dim optShipments As MSForms.OptionButton
Set optShipments = frameJobType.Controls.Add("Forms.OptionButton.1", "optShipments", True)
With optShipments
.caption = "Shipments"
.left = 40
.top = 10
End With
' Create Frame for eDoc type selection
Dim frameEdocType As MSForms.Frame
Set frameEdocType = Me.Controls.Add("Forms.Frame.1", "frameEdocType", True)
With frameEdocType
.caption = "Select eDoc Type:"
.left = 20
.top = 120
.Width = 100
.Height = 140
End With
' Define eDoc types in an array
eDocTypes = Array("BKC", "BKG", "CIV", "EMA", "PAL", "PKL", "SWB", "HBL")
' Create OptionButtons for each eDoc type from the array
Dim i As Integer
Dim topPosition As Integer
topPosition = 10
For i = LBound(eDocTypes) To UBound(eDocTypes)
Dim optButton As MSForms.OptionButton
Set optButton = frameEdocType.Controls.Add("Forms.OptionButton.1", "opt" & eDocTypes(i), True)
With optButton
.caption = eDocTypes(i)
.left = 40
.top = topPosition
End With
topPosition = topPosition + 15
Next i
' Initialize and create the textBoxReferences
Set textBoxReferences = Me.Controls.Add("Forms.TextBox.1", "textBoxReferences", True)
With textBoxReferences
.MultiLine = True
.WordWrap = True
.EnterKeyBehavior = True
.Scrollbars = fmScrollBarsBoth
.top = 20
.left = 150
.Width = 100
.Height = 200
End With
End Sub
Private Sub Send_Click()
Dim selectedCategory As String
Dim selectedOptions As String
Dim references As String
Dim ctrl As Control
' Loop through controls to find the selected category and eDoc type
For Each ctrl In Me.Controls
If TypeName(ctrl) = "OptionButton" Then
If ctrl.name = "optBookings" And ctrl.Value = True Then
selectedCategory = "BKG"
ElseIf ctrl.name = "optShipments" And ctrl.Value = True Then
selectedCategory = "SHP"
End If
If ctrl.Value = True Then
selectedOptions = ctrl.caption
End If
End If
Next ctrl
references = textBoxReferences.Text
' Call the ProcessReferences subroutine in Module1
ProcessReferences selectedCategory, selectedOptions, references
' Unload the UserForm to close it
Unload Me
End Sub
Private Sub Cancel_Click()
Unload Me
End Sub
Editor is loading...
Leave a Comment