Inhalt/Ergebnis von CheckBox/OptionButton per Mail versenden

  • Excel

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Inhalt/Ergebnis von CheckBox/OptionButton per Mail versenden

    Hallo zusammen,

    ich bin VBA-Anfänger und stehe vor einer meinerseits großen Herausforderung .. ;(

    Ich habe ein Formblatt (Userform) erstellt, welches aus vielen TextBoxes,
    OptionButtons und CheckBoxes besteht. Ziel dieses Formblattes ist es, diesen
    nach Ausfüllen aller Felder per "Absenden" automatisch über Outlook
    als Tabelle auszugeben. An sich habe ich diesen Schritt schon geschafft, jedoch
    habe ich Probleme mit der Übertragung von den CheckBoxes/Optionbuttons..

    Zum einen habe ich eine "ja" und "nein" Option, welche so
    aufgebaut sind, dass beim Klick auf "Ja" eine TextBox darunter
    gefüllt werden muss und bei "nein" die TextBox gesperrt ist.
    Weiterhin gibt es eine TextBox "Ansprechpartner" und daneben zwei
    CheckBoxes, wo angegeben werden muss, ob dieser ein "Kunde" oder
    "Intern" ist. Zu guter Letzt wieder eine "ja" und
    "nein" Option, bei dem mit Klick auf "ja" eine Auswahl 6
    verschiedener CheckBoxes erscheint und ausgewählt werden muss und bei
    "nein" eben nicht.

    Die Tabelle baue ich mittels HTML auf, klappt auch alles und verstehe soweit
    den Aufbau, jedoch weiß ich nicht wie ich in die zweite Spalte nur die
    ausgewählten Punkte der CheckBoxes bzw. Optionbuttons ausgegeben kriege.. Den
    Code füge ich mit bei und ich hoffe sehr, dass
    meine Anforderungen realistisch und umsetzbar sind. Ich bedanke mich für jede
    Hilfe!!

    Code:

    Visual Basic-Quellcode

    1. ' Userform anzeigen
    2. Private Sub CommandButton1_click()
    3. VersandUserForm1.Show
    4. End Sub
    5. ' Textboxes initialisieren
    6. Private Sub VersandUserForm_Initialize()
    7. Auftragsnummer.Value = ""
    8. LKW.Value = ""
    9. Lieferschein.Value = ""
    10. Versandtag.Value = ""
    11. Performa.Value = ""
    12. OptionButton1.Value = ""
    13. OptionButton2.Value = ""
    14. TextBox18.vale = ""
    15. Länge.Value = ""
    16. Breite.Value = ""
    17. Höhe.Value = ""
    18. Gewicht.Value = ""
    19. Ladung.Value = ""
    20. TextBoxDat.Value = ""
    21. Uhrzeit.Value = ""
    22. Ort.Value = ""
    23. Ansprech.Value = ""
    24. Telefon.Value = ""
    25. Kunde.Value = ""
    26. Versandinfo.Value = ""
    27. OptionButton3.Value = ""
    28. OptionButton4.Value = ""
    29. Termin.Value = ""
    30. Sonstige.Value = ""
    31. Datum.Value = Date & " - " & Time
    32. End Sub
    33. ' Userform beenden
    34. Private Sub BeendenButton_Click()
    35. Unload Me
    36. End Sub
    37. ' Inhalte der Textboxes leeren
    38. Private Sub LöschenButton_Click()
    39. Call VersandUserForm_Initialize
    40. End Sub
    41. ' Outlook + automatische Übertragung in Klärfallliste
    42. Private Sub MailButton_click()
    43. Dim objOutlook As Object
    44. Dim objMail As Object
    45. Dim btext As String
    46. Set objOutlook = CreateObject("Outlook.Application")
    47. Set objMail = objOutlook.CreateItem(0)
    48. With objMail
    49. .To = [email=Max.mustermann@musterland.de]Max.mustermann@musterland.de[/email]
    50. .Subject = "Versandfreigabe"
    51. .HTMLBody = "Hallo Herr Hoffmann," &
    52. "<br><br>" & "bitte aufs nächste Shuttle zur
    53. Auslieferung. Anbei die Versandfreigabe:" _
    54. & "<br><br>" & "Mit freundlichen
    55. Grüßen" & "<br><br>" &
    56. "<br><br>" _
    57. & "<table border=""1""
    58. cellpadding=""3"" cellspacing=""0""
    59. width=""20%"" bgcolor=""#E6E6E6""
    60. bordercolor=""#2E2E2E"">" _
    61. & "<tr>" &
    62. "<td>Auftragsnummer</td>" & "<td>"
    63. & Auftragsnummer.Value & "</td>" &
    64. "</tr>" & "<tr>" & "<td>LKW Nr.
    65. ab Guxhagen</td>" & "<td>" & LKW.Value &
    66. "</td>" & "</tr>" _
    67. & "<tr>" &
    68. "<td>Lieferscheinnummer</td>" &
    69. "<td>" & Lieferschein.Value & "</td>"
    70. & "</tr>" & "<tr>" &
    71. "<td>Versandtag in Guxhagen</td>" &
    72. "<td>" & Versandtag.Value & "</td>"
    73. & "</tr>" _
    74. & "<tr>" &
    75. "<td>Performa-Rechnungsnummer</td>" &
    76. "<td>" & Performa.Value & "</td>" &
    77. "</tr>" & "<tr>" &
    78. "<td>Bestätigter Termin an Kunde (eintreffend)</td>"
    79. & "<td>" & Termin.Value & "</td>" &
    80. "</tr>" _
    81. & "<tr>" & "<td>L/C</td>" &
    82. "<td>" & "<td>" & "<input
    83. type=""optionbutton""
    84. name=""OptionButton1[]"" Caption=""Ja""
    85. checked>" & "</td>" & "</tr>"
    86. & "</table>" & "<br><br>" &
    87. "<u><b>Packdaten</u></b>" &
    88. "<br><br>" _
    89. & "<table border=""1""
    90. cellpadding=""3"" cellspacing=""0""
    91. width=""20%"" bgcolor=""#E6E6E6""
    92. bordercolor=""#2E2E2E"">" &
    93. "<tr>" & "<td>Länge</td>" &
    94. "<td>" & Länge.Value & "</td>" &
    95. "</tr>" _
    96. & "<tr>" & "<td>Breite</td>"
    97. & "<td>" & Breite.Value & "</td>"
    98. & "</tr>" & "<tr>" &
    99. "<td>Höhe</td>" & "<td>" &
    100. Höhe.Value & "</td>" & "</tr>" _
    101. & "<tr>" & "<td>Gewicht</td>"
    102. & "<td>" & Gewicht.Value & "</td>"
    103. & "</tr>" & "<tr>" &
    104. "<td>Ladung</td>" & "<td>" &
    105. Ladung.Value & "</td>" & "</tr>" &
    106. "</table>" & "<br><br>"
    107. & "<u><b>Fixdaten</u></b>" &
    108. "<br><br>" _
    109. & "<table border=""1""
    110. cellpadding=""3"" cellspacing=""0""
    111. width=""20%"" bgcolor=""#E6E6E6""
    112. bordercolor=""#2E2E2E"">" & "<td>Datum</td>"
    113. & "<td>" & Ladung.Value & "</td>"
    114. & "</tr>" _
    115. & "<td>Uhrzeit</td>" & "<td>"
    116. & TextBoxDat.Value & "</td>" &
    117. "</tr>" & "<td>Ort</td>" &
    118. "<td>" & Ort.Value & "</td>" &
    119. "</tr>" _
    120. & "<td>Ansprechpartner</td>" &
    121. "<td>" & Ansprech.Value & "</td>" &
    122. "</tr>" & "<td>Telefonnummer</td>"
    123. & "<td>" & Telefon.Value & "</td>"
    124. & "</tr>" & "</table>" &
    125. "<br><br>" & "<table
    126. border=""1"" cellpadding=""3""
    127. cellspacing=""0"" width=""20%""
    128. bgcolor=""#E6E6E6"" bordercolor=""#2E2E2E"">"
    129. _
    130. & "<tr>" & "<td>E-Mail Kunde</td>"
    131. & "<td>" & Kunde.Value & "</td>"
    132. & "<tr>" & "<td>Versandinfo
    133. an</td>" & "<td>" & Versandinfo.Value &
    134. "</td>" & "<td>" & CheckBox7.Caption
    135. & "</td>" & "</tr>" _
    136. & "<tr>" & "<td>BAFA</td>" &
    137. "<td>" & Kunde.Value & "</td>"
    138. .Display
    139. End With
    140. If TextBox18.Value = "" Then
    141. MsgBox ("Sie haben vergessen Felder auszufüllen")
    142. Exit Sub
    143. End If
    144. End Sub
    145. Private Sub OptionButton1_Click()
    146. If Me!OptionButton1.Caption = True Then
    147. Me!TextBox18.Enabled = True
    148. TextBox18.Visible = True
    149. End If
    150. End Sub
    151. Private Sub OptionButton2_Click()
    152. If Me!OptionButton2.Caption = True Then
    153. Me!TextBox18.Enabled = False
    154. TextBox18.Visible = False
    155. End If
    156. End Sub
    157. Private Sub OptionButton3_Click()
    158. If Me!OptionButton3.Value = True Then
    159. Me!CheckBox1.Enabled = True
    160. Me!CheckBox2.Enabled = True
    161. Me!CheckBox3.Enabled = True
    162. Me!CheckBox4.Enabled = True
    163. Me!CheckBox5.Enabled = True
    164. Me!CheckBox6.Enabled = True
    165. CheckBox1.Visible = True
    166. CheckBox2.Visible = True
    167. CheckBox3.Visible = True
    168. CheckBox4.Visible = True
    169. CheckBox5.Visible = True
    170. CheckBox6.Visible = True
    171. End If
    172. End Sub
    173. Private Sub OptionButton4_Click()
    174. If Me!OptionButton4.Value = True Then
    175. Me!CheckBox1.Enabled = False
    176. Me!CheckBox2.Enabled = False
    177. Me!CheckBox3.Enabled = False
    178. Me!CheckBox4.Enabled = False
    179. Me!CheckBox5.Enabled = False
    180. Me!CheckBox6.Enabled = False
    181. CheckBox1.Visible = False
    182. CheckBox2.Visible = False
    183. CheckBox3.Visible = False
    184. CheckBox4.Visible = False
    185. CheckBox5.Visible = False
    186. CheckBox6.Visible = False
    187. End If
    188. End Sub
    189. Private Sub CheckBox1_Click()
    190. If Me!CheckBox7.Value = True Then
    191. CheckBox7.Caption = True
    192. Else
    193. CheckBox8.Caption = True
    194. End If
    195. End Sub


    *Topic verschoben, VB-BBCode eingefügt*

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @Honi92 Willkommen im Forum.
    Offensichtlich hast Du Dein Problem falsch deklariert.
    Lies mal hier nach und präzisiere den Titel Deines Threads bezüglich Sprache und Framework.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Honi92 schrieb:

    falsch deklariert
    war die Angabe Framework 3.5, das passt nicht zu VB6 (erledigt).
    Du schreibst, dass Du VBA-Anfänger seist und ordnest diesen Thread VB6 zu.
    Wenn es tatsächlich VB6 ist, dann ist die Aussage mit dem VBA-Anfänger irreführend.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Das ist richtig. Genau genommen handelt es sich um Excel-VBA, womit ich programmiere. Dieses konnte ich den vorgegebenen Auswahlkriterien nicht zuordnen..

    Gibt es denn eine Lösung, womit man eine "entweder/ oder" Anweisung von OptionButtons im der Email zuordnen kann? Als Beispiel:

    Ich habe die Auswahl "Ja" und "Nein". Bei "Ja" muss eine weitere TextBox gefüllt werden. Demzufolge soll in der Email eine Tabelle mit zwei Spalten entstehen, auf dem in der ersten Spalte "Ja" steht und in der zweiten "Mustermann". Wählt man "Nein", dann soll da nur "Nein" stehen.

    Tabelle über HTML:

    "<tr>" & "<td>" & & </td>"

    Was schreibe ich jetzt dazwischen? Wenn ich nur OptionButton1 reinschreibe, dann würde ja OptionButton2 fehlen. Gibt es da keine oder-Anweisung oder ähnliches oder vielleicht eine ganz andere Lösung? Ich verzweifle :((
    @Honi92 Sorry, von VBA hab ich keine Ahnung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Honi92 schrieb:

    jedoch weiß ich nicht wie ich in die zweite Spalte nur die
    ausgewählten Punkte der CheckBoxes bzw. Optionbuttons ausgegeben kriege

    Kannst du das näher erläutern? Ich weiß nicht, was genau du meinst, also wo das Problem nun liegt.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum