VBA, Outlook 2007, over 1 persoon twee mailtjes

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Beste VBA experts,

Is het mogelijk om een Userform te maken in Outlook waarmee je:
- persoonlijke gegevens maar 1 keer invoert (naam, geboortedatum en BSN) en dan
- twee gestandaardiseerde mailtjes aanmaakt waarin de variabelen naam, geboortedatum en BSN zijn verwerkt

Gr jackfish
 
Laatst bewerkt:
Jackfish,

Een userform is niet nodig, je kunt in contacten alle gegevens kwijt die je maar wil invoeren.
De naam en de geboortedatum kun je al makkelijk kwijt, het BSN nummer is lastiger omdat er geen direct veld voor is.
Ik gebruik hier het ISDN nummer voor, dat wordt toch nooit meer gebruikt in de moderne wereld.

De volgende macro haalt uit al je contacten de betreffende gegevens en maakt een mail aan die je kunt versturen.

Code:
Public Sub StuurMail()
    Dim sMail(4) As String
    Dim oMail As Outlook.MailItem
    Dim vAdress
    Dim vAdresses As AddressList
    
    Set vAdresses = Session.AddressLists(2)
    
    For Each vAdress In vAdresses.AddressEntries
        sMail(0) = vAdress.Address
        sMail(1) = vAdress.Name
        sMail(2) = vAdress.GetContact.Birthday
        sMail(3) = vAdress.GetContact.ISDNNumber
        Set oMail = Outlook.CreateItem(olMailItem)
        oMail.To = sMail(0)
        oMail.Body = "Naam:      " & sMail(1) & vbCrLf & _
                     "Geboren:   " & sMail(2) & vbCrLf & _
                     "BSN nummer:" & sMail(3)
        oMail.Display
    Next
End Sub

Mogelijk moet je voor jezelf even kijken of je Session.AddressLists(2) of 1 nodig hebt.

Veel Succes.
 
Hallo Elsendoorn2134. Bedankt voor de reactie en excuses voor mijn vertraagde reactie. Een userform zou mijn voorkeur hebben omdat de gegevens niet van mijn contactpersonen zijn. Eenmaal ingevoerd zou ik ze ook weer moeten verwijderen en is mijn VBA-voordeel verdwenen.
Is het te doen met een Userform?

Gr jackfish
 
Kwestie van een Userform maken, daar je tekstvelden opzetten en onderstaande code uitvoeren:

Code:
Private Sub cmdMail_Click()
Dim sMail(4) As String
Dim oMail As Outlook.MailItem
    
    sMail(0) = Me.txtEmail
    sMail(1) = Me.txtNaam
    sMail(2) = Me.txtGeboortedatum
    sMail(3) = Me.txtBSN_Nummer
    Unload Me
    Set oMail = Outlook.CreateItem(olMailItem)
    oMail.To = sMail(0)
    oMail.body = "Naam:      " & sMail(1) & vbCrLf & _
                 "Geboren:   " & sMail(2) & vbCrLf & _
                 "BSN nummer:" & sMail(3)
    oMail.Display

End Sub
 
Code:
Private Sub knop_zend_Click()
  with Outlook.CreateItem(olMailItem)
    .To = txtEmail.text
    .body = "Naam: " & txtNaam.Text & vbLf & "Geboren: " & txtGeboortedatum.text & vbLf & "BSN nummer: " & txtBSN_Nummer.text
    .send
  end with
  Hide
End Sub
 
Laatst bewerkt:
Dat werkt goed Octafish en snb! Gekke vraag misschien, maar hoe roep je eigenlijk het userform aan in Outlook? Gr jackfish
 
Je kunt een macro maken die het menu opent. Die krijgt dan als opdracht Userform.Show.
 
Ok, en die macro start ik vanaf een een eigen toolbar? gr jackfish
 
Kan. Of een sneltoets.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan