Ga naar inhoud

verzendknop op userform VBA


anoniem

Aanbevolen berichten

Als je Outlook hebt geinstalleerd, kun je met onderstaande code vast wel uit de voeten.

code:
Sub CommandButton1_Click()
    Dim obj As Outlook.Application
    Dim itmMail As Outlook.MailItem
    
    Set obj = CreateObject("Outlook.Application")
    
    Set itmMail = obj.CreateItem(olMailItem)
    
    With itmMail
        .To = <email-adres>
        .Subject = <onderwerp van de mail>
        .Body = <de body tekst>
        .Send
    End With

Link naar reactie
quote:
Originally posted by Eddi3: Als je Outlook hebt geinstalleerd, kun je met onderstaande code vast wel uit de voeten.

code:
Sub CommandButton1_Click()
    Dim obj As Outlook.Application
    Dim itmMail As Outlook.MailItem
    
    Set obj = CreateObject("Outlook.Application")
    
    Set itmMail = obj.CreateItem(olMailItem)
    
    With itmMail
        .To = <email-adres>
        .Subject = <onderwerp van de mail>
        .Body = <de body tekst>
        .Send
    End With


Het is wel wat trager, maar ik laat altijd bij het declareren van de outlook variabelen het objecttype weg, dus:

code:
    Dim obj
    Dim itmMail

i.p.v.
code:
    Dim obj As Outlook.Application
    Dim itmMail As Outlook.MailItem

Hierdoor hoeft je geen verwijzing naar de Outlook-bibliotheek in je applicatie op te nemen én je bent niet meer gebonden aan de versie van Outlook. Dus gemaakt met Outlook 97, werkt het ook in Outlook 97 en hoger.
Link naar reactie
Ondanks al jullie goede bedoelingen kom ik er nog niet uit. Maar nu moet ik ook eerlijk bekken dat ik een absolute beginner ben op het gebied van VBA.

De code achter de verzendknop die ik gemaakt heb ziet er als volgt uit:

Private Sub CommandButton1_Click() If TextBox1 = "" Then MsgBox "U heeft geen naam ingevuld", vbOKOnly, Error If TextBox2 = "" Then MsgBox "U heeft geen telefoonnummer of piepernummer ingevuld", vbOKOnly, Error If TextBox3 = "" Then MsgBox "U heeft geen tijd ingevuld", vbOKOnly, Error If TextBox4 = "" Then MsgBox "U heeft geen datum ingevuld", vbOKOnly, Error If TextBox5 = "" Then MsgBox "U heeft geen gebouw/unit ingevuld", vbOKOnly, Error If TextBox6 = "" Then MsgBox "U heeft geen afdeling of ruimte ingevuld", vbOKOnly, Error If TextBox8 = "" Then MsgBox "U heeft geen omschrijving van de klacht ingevuld", vbOKOnly, Error Selection.GoTo What:=wdGoToBookmark, Name:="naam" Selection.TypeText TextBox1 Selection.GoTo What:=wdGoToBookmark, Name:="telefoon" Selection.TypeText TextBox2 Selection.GoTo What:=wdGoToBookmark, Name:="datum" Selection.TypeText TextBox4 Selection.GoTo What:=wdGoToBookmark, Name:="tijd" Selection.TypeText TextBox3 Selection.GoTo What:=wdGoToBookmark, Name:="gebouw" Selection.TypeText TextBox5 Selection.GoTo What:=wdGoToBookmark, Name:="afdeling" Selection.TypeText TextBox6 Selection.GoTo What:=wdGoToBookmark, Name:="klacht" Selection.TypeText TextBox8

Nu wil ik hier een regel aan toevoegen die het betreffende document verstuurt naar alebeek@raketnet.nl nadat de gebruiker op de verzendknop gedrukt heeft.

Welke knappe knop weet de oplossing?

Groetjes;

Theo

Link naar reactie
Ik zou een while wend lus toepassen, die pas de procedure verlaat als alles is ingevuld. Dan de code van Eddi3 toepassen, zie onderstaande (niet volledige) uitwerking.

--------- Private Sub CommandButton1_Click() doorgaan=false While not doorgaan .... (jouw criteria) Wend if doorgaan=true then bodytekst="naam"+chr(9)+":"+textbox1+chr(13)+chr(10)+"telefoonnummer"+chr(9)+chr(13)+chr(10)+": "+textbox2+ enz....... call verzenden end if end sub

sub verzenden() Dim obj As Outlook.Application Dim itmMail As Outlook.MailItem Set obj = CreateObject("Outlook.Application") Set itmMail = obj.CreateItem olMailItem) With itmMail .To = "alebeek@raketnet.nl" .Subject = "klacht van "+textbox1 .Body = bodytekst .Send End With end sub --------------------- textbox1 en bodytekst moeten wel als Public zijn gedeclareerd. chr(9) is de tab chr(13)+chr(10) betekent naar het begin van een nieuwe regel.

Succes.

Link naar reactie
  • 8 jaren later...

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...