Radio buttons van userform outlook in email body omzetten

Status
Niet open voor verdere reacties.

bjornesto

Gebruiker
Lid geworden
16 apr 2012
Berichten
201
Beste

Hieronder is een code die werkt om met textboxen een userform van Outlook in email body om te zetten

Hoe zet je radio buttons om in die email body heb al verscheidene sites bezocht maar niets gevonden

Dit is de code die werkt
Code:
Sub cmdadd_click()

    Dim OutApp As Object
    Dim OutMail As Object

   
    
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
   

    On Error Resume Next
    With OutMail
        .To = ""
        .CC = ""
        .BCC = ""
        .Subject = "Call management"
        .Display
        .Body = "Target date = " & call_management_form.TextBox5.Value & vbNewLine & _
                "Room name = " & call_management_form.TextBox1.Value & vbNewLine & _
                "Door number = " & call_management_form.TextBox2.Value & vbNewLine & _
                "Short description = " & call_management_form.TextBox3.Value & vbNewLine & _
                "Room name = " & call_management_form.TextBox4.Value & vbNewLine
                
            
                
                
        
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
 
End Sub

De radio buttons zijn telkens in een group gezet

Dit is een voorbeeld van een group radio buttons
- Site (radio buttons in die group zie hieronder)
HO: genaamd optHO
TC: genaamd optTC
 
Ik heb niet echt een beeld bij wat je bedoeld met:
"Hoe zet je radio buttons om in die email body"
 
Dit is de userform dat ze moeten invullen

form outlook.jpg

Hetgene dat aangevinkt is zou dan ook in die email body terecht moeten komen
 
Ok je bedoeld dus dat de waarde van de radiobuttons in de tekst van de email moeten komen?
 
inderdaad

Ze vullen dat in en hetgene aangevinkt is moet in de email body komen

Heb al geprobeerd om de groupnaam er in te zetten maar dat lukt niet.
 
Ik heb hier ook een voorbeeldje voor je. Kijk naar dit formulier met 2 groepen option buttons genaamd Group1 en Group2. In Group1 is nr. 2 aan gezet en in Group2 staat nr. 3 aan.
GP.jpg

Dit stukje code heb ik achter de knop gezet om de gekozen waarde per groep te bepalen:
Code:
Private Sub CommandButton1_Click()
    Dim Group1Value As String
    Dim Group2Value As String
    
    For Each opt In Me.Controls
        If TypeName(opt) = "OptionButton" Then
            Select Case opt.GroupName
                Case "Group1"
                    If opt.Value Then Group1Value = opt.Caption
                Case "Group2"
                    If opt.Value Then Group2Value = opt.Caption
            End Select
        End If
    Next
    
    MsgBox Group1Value
    MsgBox Group2Value
End Sub

Daaraan zou je voldoende moeten hebben om in je eigen formulier toe te passen.
 
Laatst bewerkt:
Prima. Mocht het niet lukken dan zien we je hier wel terug :)
 
Hallo,
Iets andere benadering
De body van de mail is in dit geval de inhoud van Kolom E (tot en met rij 60)
Als je via het invulformulier de waarden van uw tekstboxen en optionbuttons terecht laat komen in Kolom E worden die als body meegestuurd.
Zie bijgevoegd vbtje
Groet
Bekijk bijlage Automatisch mailen5.xlsm
 
Dit is de code geworden om in outlook een userform te maken en dan op add te klikken zodat hij alles in een nieuwe email zet

Code:
Sub cmdadd_click()
Dim objMsg As MailItem

Dim Topic As String
'determine which button was chosen under topic
If Me.OptionButton1 Then
Topic = "- CCTV"
ElseIf Me.OptionButton2 Then
Topic = "- Access Control"
ElseIf Me.OptionButton3 Then
Topic = "- Alarms"
ElseIf Me.OptionButton4 Then
Topic = "- Burglary"
ElseIf Me.OptionButton5 Then
Topic = "- Fire detection"
ElseIf Me.OptionButton6 Then
Topic = "- Fire extinghuisers"
ElseIf Me.OptionButton7 Then
Topic = "- Doors"
ElseIf Me.OptionButton8 Then
Topic = "- Slagbomen"
ElseIf Me.OptionButton9 Then
Topic = "- Pagers"
ElseIf Me.OptionButton10 Then
Topic = "- Intercom"
ElseIf Me.OptionButton11 Then
Topic = "- Other"
End If
 
Dim Type1 As String
'determine which button was chosen under type
If Me.OptionButton12 Then
Type1 = "Planned request"
ElseIf Me.OptionButton13 Then
Type1 = "Service request"
ElseIf Me.OptionButton14 Then
Type1 = "RFI"
ElseIf Me.OptionButton15 Then
Type1 = "RFQ"
End If
 
Dim Site As String
'determine which button was chosen under type
If Me.OptionButton16 Then
Site = "Headoffice"
ElseIf Me.OptionButton17 Then
Site = "TC"
End If
 
Set objMsg = Application.CreateItem(olMailitem)
Unload call_management_form
 With objMsg
  .To = "test@test.com"
  .CC = "test1@test.com"
  .Subject = "New call management: " & TextBox3.Value & " " & Date
  .Body = "Call Management" & vbNewLine & vbNewLine & _
            "Below you may find the problem we came into" & vbNewLine & _
            "Topic: " & vbNewLine & Topic & vbNewLine & vbNewLine & _
            "Type: " & vbNewLine & Type1 & vbNewLine & vbNewLine & _
            "Target date: " & vbNewLine & TextBox5.Value & vbNewLine & vbNewLine & _
            "Site: " & vbNewLine & Site & vbNewLine & vbNewLine & _
            "Roomname: " & vbNewLine & TextBox1.Value & vbNewLine & vbNewLine & _
            "Doornumber: " & vbNewLine & TextBox2.Value & vbNewLine & vbNewLine & _
            "Short description: " & vbNewLine & TextBox3.Value & vbNewLine & vbNewLine & _
            "Detailed description: " & vbNewLine & TextBox4.Value
  .BodyFormat = olFormatPlain ' send plain text message
  .Importance = olImportanceHigh
  .Sensitivity = olConfidential
  .Display
End With
 
Set objMsg = Nothing
End Sub
 
Je code kan in ieder geval een stuk korter, want al die Elsifjes hoeven niet:

Code:
    If Me.OptionButton1 Then Topic = "- CCTV"
    If Me.OptionButton2 Then Topic = "- Access Control"
    If Me.OptionButton3 Then Topic = "- Alarms"
    If Me.OptionButton4 Then Topic = "- Burglary"
    If Me.OptionButton5 Then Topic = "- Fire detection"
    If Me.OptionButton6 Then Topic = "- Fire extinghuisers"
    If Me.OptionButton7 Then Topic = "- Doors"
    If Me.OptionButton8 Then Topic = "- Slagbomen"
    If Me.OptionButton9 Then Topic = "- Pagers"
    If Me.OptionButton10 Then Topic = "- Intercom"
    If Me.OptionButton11 Then Topic = "- Other"
etc. werkt net zo goed.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan