• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Snelkoppeling naar een outlook bericht met gegevens Excel

Status
Niet open voor verdere reacties.

Mohammad

Gebruiker
Lid geworden
5 nov 2009
Berichten
44
Beste lezer,

Graag zou ik het volgende gerealiseerd hebben:

Ik heb een lijst met namen, e-mailadressen en kolom kind (zoon/ dochter). Mijn doel (zie Excel bestand als voorbeeld) is het volgende: als ik op de koppeling klik in kolom E (stuur brief) bijvoorbeeld E2 dan is het resultaat in outlook als nieuw bericht met de volgende gegevens:

e-mailadres: mailadresNaam 1@mail.com (uit cel d2)
onderwerp: Herinnering betaling (uit cel H1)
inhoud e-mail bericht bericht:

Geachte heer (uit cel b2),

Uw Zoon (uitc2) is begonnen met de training. Graag willen we uw attenderen op etc…

We zie uw betaling vóór 5-9-2016 (uit cel N1)

Met vriendelijke groet,
Penningmeester

******

Ik hoop dat het doel duidelijk is. Alle voorstellen zijn welkom.

Alvast bedankt voor het mee denken.
 

Bijlagen

  • Brief vanuit Excel in Outlook.xlsx
    11,4 KB · Weergaven: 25
Dubbelklik maar eens in een cel in kolom E.
 

Bijlagen

  • Brief vanuit Excel in Outlook.xlsb
    15 KB · Weergaven: 34
Bedankt voor je reactie HSV. Heel goed begin!
Kun je ook ervoor zorgen dat je alleen in kolom E de mogelijk om dubbel te klikken. Als ik bijvoorbeeld in een cel in kolom D dubbelklik, dan wordt ook een e-mailbericht gegenereerd.
No een wens: als ik de tekst in Inhoud E-mail bericht (H2) wijzig dan wijzigt de tekst niet in het e-mailbericht.
 
Het eerste is snel realiseerbaar.
Het laatste niet door de variabelen in de vaste tekst.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
[COLOR=#0000ff]If Target.Row > 1 And Target.Column = 5 And Target.Value <> "" Then[/COLOR]
  With CreateObject("Outlook.Application").CreateItem(0)
         .To = Target.Offset(, -1).Value
         .Subject = "Herinnering betaling"
         .body = "Geachte " & Target.Offset(, -3) & "," & vbLf & vbLf & _
         "Uw " & Target.Offset(, -2) & " is begonnen met de training." & vbLf & _
         "Graag willen we uw attenderen op etc…" & vbLf & vbLf & _
         "We zien uw betaling graag vóór " & [N1] & " tegemoet." & vbLf & vbLf & _
         "Met vriendelijke groet," & vbLf & _
         "Penningmeester"
         '.Send
         .display
  End With
 Cancel = -1
[COLOR=#0000ff] End If[/COLOR]
End Sub
 
Dubbelklikken werkt perfect, goed geregeld!
Ik heb een goede basis nu, ik kan verder puzzelen.

Je hebt het bestand trouwens als xlsb opgeslagen, moet ik zo houden of xlsm van maken?

Mijn dank is groot.
 
Mooi zo laten.
Lees de tekst maar eens als je het bestand wil opslaan als binair bestand.
 
Hier nog een alternatief voor je uitgewerkt.
 

Bijlagen

  • Brief vanuit Excel in Outlook dubbelklik.xlsb
    15,2 KB · Weergaven: 33
bedankt

dat is inderdaad een betere optie.
Is het trouwens ook mogelijk om een optie te bouwen: dat je op ene of andere manier bij het dubbelklikken kan kiezen tussen welkombrief of herinneringsbrief?

als het niet kan, ik ben uiteraard ontzettend blijf met deze oplossing, alleen soms wil je meer. =:)
 

Bijlagen

  • Brief vanuit Excel in Outlook dubbelklik.xlsb
    17,1 KB · Weergaven: 24
Laatst bewerkt:
Bv. zo.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim off As Long
If Target.Row > 1 And Target.Column = 5 And Target.Value <> "" Then
If MsgBox("Kies Ja voor ""Welkomstbrief""," & vbLf & vbLf & "Nee voor ""Herinnering betaling""", vbYesNo + vbInformation + vbDefaultButton2, "Let op") = vbYes Then off = 20
  With CreateObject("Outlook.Application").CreateItem(0)
         .To = Target.Offset(, -1).Value
         .Subject = [H1].Offset(off).Value
         .body = [h2].Offset(off) & " " & Target.Offset(, -3) & "," & vbLf & vbLf & _
         [h3].Offset(off) & " " & Target.Offset(, -2) & " " & [h4].Offset(off) & vbLf & _
         [h5].Offset(off) & vbLf & vbLf & [h6].Offset(off) & " " & [N1] & " " & [h7].Offset(off) & vbLf & vbLf & _
         [h8].Offset(off) & vbLf & [h9]
         '.Send
         .display
  End With
 Cancel = -1
 End If
End Sub
 

Bijlagen

  • Brief vanuit Excel in Outlook dubbelklik 1.xlsb
    16,2 KB · Weergaven: 49
Prima, dit is exact de bedoeling. Ik probeerde de VBA codering te snappen, maar ik zal thuis even puzzelen. In ieder geval bedankt.
 
Ik heb je samengevoegde cellen verwijderd in H1 en H21 en de tekst gecentreerd over resp. H1:L1, H21:L21.
Vba kan niet best overweg met samenvoeging van cellen.
 
Zet in kolom E het woord 'welkom' of 'herinnering'

Gebruik dan:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Target.Row > 1 And Target.Column = 5 And Target.Value <> "" Then
    sn = Rows(Target.Row).SpecialCells(2)
    sp = [H2:H9]
    sq = [H22:H27]
    c00 = IIf(Target = "welkom", sp(1, 1) & " " & sn(1, 2) & vbLf & sp(2, 1) & " " & sn(1, 3) & sp(3, 1) & vbLf & sp(4, 1) & vbLf & sp(5, 1) & [N1] & sp(6, 1) & sp(7, 1), sq(1, 1) & " " & sn(1, 1) & sq(2, 1) & " " & sn(1, 3) & sq(3, 1) & sq(4, 1) & sq(5, 1) & sq(6, 1))
  
    With CreateObject("Outlook.Application").CreateItem(0)
      .To = Target.Offset(, -1).Value
      .Subject = Target
      .body = c00
      .send
    End With

  Cancel = -1
 End If
End Sub
 
Laatst bewerkt:
Dat zegt mij nog niet zoveel. Ik zal proberen de VBA te integreren in mijn originele bestand. De verwijzing naar de cellen (bijvoorbeeld onderwerp bericht etc.) is uiteraard anders dan dit voorbeeld bestand.
 
SNB ook bedankt voor je reactie. Kun je de VBA aanpassen zodat het bericht niet gelijk verstuurd wordt?
 
Als je de code begrijpt kun je er zelf voor zorgen dat het bericht niet meteen/direkt verstuurd wordt.
Dan zul je zien dat ik gelijk heb en de resulterende code niet gelijk is aan de code die ik plaatste.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan