Er worden 26 mails verstuurd ipv 1

Status
Niet open voor verdere reacties.

SBruintjes

Nieuwe gebruiker
Lid geworden
22 okt 2013
Berichten
1
Ik het een en ander aan het proberen met VBA, maar nu heb ik een probleem met de code voor het verzenden mail. In totaal geef ik 26 opdrachten om een mail te verzenden en dat is niet de bedoeling. Heeft iemand hier een oplossing voor?

Code:
Private Sub CbVerstuur_Click()
Dim RowCount As Long
Dim ctl As Control
' Check user input
If Me.TbDateMeld.Value = "" Then
MsgBox "Vermeld datum incident.", vbExclamation, "Staff Expenses"
Me.TbDateMeld.SetFocus
Exit Sub
End If
If Me.TbNaamMeld.Value = "" Then
MsgBox "Geef uw naam in.", vbExclamation, "Staff Expenses"
Me.TbNaamMeld.SetFocus
Exit Sub
End If
If Me.CmbOnderwerp.Value = "" Then
MsgBox "Selecteer een onderwerp.", vbExclamation, "Staff Expenses"
Me.CmbOnderwerp.SetFocus
Exit Sub
End If
If Me.TbToelichting.Value = "" Then
MsgBox "Vermeld de details van het incident.", vbExclamation, "Staff Expenses"
Me.TbToelichting.SetFocus
Exit Sub
End If

' Write data to worksheet
RowCount = Worksheets("MIP").Range("A2").CurrentRegion.Rows.Count
With Worksheets("MIP").Range("A2")
.Offset(RowCount, 1).Value = Me.TbDateMeld.Value
.Offset(RowCount, 2).Value = Me.TbNaamMeld.Value
.Offset(RowCount, 3).Value = Me.CmbAfdeling.Value
.Offset(RowCount, 5).Value = Me.CmbErnst.Value
.Offset(RowCount, 7).Value = Me.CmbOnderwerp.Value
.Offset(RowCount, 9).Value = Me.TbToelichting.Value
.Offset(RowCount, 10).Value = Me.TbGebdate.Value
.Offset(RowCount, 11).Value = Me.TbNaamPte.Value
.Offset(RowCount, 12).Value = Me.TbDirecteMaatregelen.Value
.Offset(RowCount, 13).Value = Me.TbSuggestie.Value
End With

For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then
ctl.Value = ""
End If

With CreateObject("Outlook.Application").CreateItem(0)

        .To = "Kwaliteit@xx.nl;"
        .CC = ""
        .BCC = ""
        .Subject = "Melding"
        .Body = "Ga naar het overzicht meldingen"
        .display '.SEND of .DISPLAY
    End With
Next

End Sub
 
Laatst bewerkt door een moderator:
Wil je eens beginnen met de code op te maken met de CODE knop; zo is het wel erg lastig lezen.
 
Overigens snap ik wel waarom je 26 mails verstuurt i.p.v. 1. Heb je toevallig 26 controls op je formulier?
 
Hoi,

Ik denk dat je "next" te ver naar onderen hebt geplaatst. For each control verzend hij op deze manier een email.

Volgens mij hoort het er zo uit te zien:

Code:
For Each ctl In Me.Controls
If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then
ctl.Value = ""
End If
Next

With CreateObject("Outlook.Application").CreateItem(0)

        .To = "Kwaliteit@xx.nl;"
        .CC = ""
        .BCC = ""
        .Subject = "Melding"
        .Body = "Ga naar het overzicht meldingen"
        .display '.SEND of .DISPLAY
    End With

Mvg Chris
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan