Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[VB6] Uw hulp gevraagd bij emailen vanuit VB.

jch.scheepers
5 antwoorden
  • Hallo mensen
    Ik ben geen programmeur maar heb eenmalig een adressenprogramma geschreven in VB6. Dat werkt prima op het emailen na. Ik loop tegen het einde van mijn kennis aan.
    Op het internet zijn voorbeelden te halen, zelfs complete programma's. Maar ik kan daar toch niet mee uit de voeten.
    Wat wil ik? Mijn (email) adressen staan in een Acces database. Deze emailadressen moeten dan in het mailveld "Aan:" worden ingelezen.
    Hoe los ik dit op?
    Al uw reacties zijn welkom.
    Groet
    Joop Scheepers
  • Dit is al een keer besproken volgens mij, maar hier is de code nog een keer:
    [code:1:26691aee36]Dim out As Object ' Create Object Variable

    'Assign Oulook.Application to object variable
    Set out = CreateObject("Outlook.application")
    With out.CreateItem(olMailItem) ' Using outlook object
    ' Insert recipients one at a time with the Add method
    .Recipients.Add "Testje@test.com" ' To: Field
    .Recipients.Add "Test2@tester.com" ' To: Field
    ' To place users in the CC: field, specify olCC type
    .Recipients.Add("CC@cc-er.com").Type = olCC
    .Subject = "Testing" ' The subject
    .Body = "Bla bla bla bla bla" ' The Body
    ' Insert attachements one at a time with the Add method
    .Attachments.Add "c:win.com"
    ' Finally copy message to Outlook outbox with send
    .Send
    End With[/code:1:26691aee36]

    Om dit werken te krijgen moet je alleen nog ff het outlook object toevoegen aan je project:

    Project -> References -> Microsoft Outlook x.0 Object Library (x is 8 of 9)

  • Om de gegevens uit de database te krijgen moet je nog wat meer doen.

    Voeg een referentie toe naar ADO (Project -> References -> Microsoft ActiveX Data Objects 2.x Library)

    Voeg aan de code van one_234 de volgende code toe:

    [code:1:d40f6058f7]
    Dim adoCon as ADODB.Connection
    Dim adoRS as ADODB.Recordset
    Dim sSQL as String

    Set adoCon = new ADODB.Connection
    With adoCon
    .CursorLocation = adUseClient
    .Open "Provider=Microsoft.jet.OleDB.3.51;DataSource=<pad naar je database>;"
    End With

    Set adoRS = new ADODB.Recordset

    sSQL = "Select <mail-adres> FROM <tabelnaam>"
    adoRS.Open sSQL, adoCon, adOpenDynamic, adLockOptimistic

    If adoRS.RecordCount > 0 then
    adoRS.MoveLast
    adoRS.MoveFirst
    ' voeg toe aan de recipients
    for i = 0 to adoRS.RecordCount
    out.Recipients.Add adoRS(<mail-adres>)
    adoRS.MoveNext
    Next
    End If
    [/code:1:d40f6058f7]

    Zo krijg je de data uit je tabel, en kun je die gebruiken om je mails te versturen.

    Ed

    [ Dit Bericht is bewerkt door: Eddi3 op 2002-02-07 12:25 ]
  • Bedankt voor jullie respons. Nu krijg ik het wel aan het werken.
    groet
    Joop
  • Is dit programma bedoelt om te verspreiden? M.a.w. Gaat dit meer gebruikers krijgen behalve jijzelf of mensen binnen je bedrijf? Dan kun je dit natuurlijk zo niet doen. Je verplicht dan mensen om outlook op hun systeem te hebben. Beter is het om dan om gebruik te maken van de MAPI control die voldoende funktionaliteit biedt om e-mail vanuit je programma te verzenden. Bovendien mag je deze control vrij met je programma verspreiden.


    [edit]
    Typo verwijdert.
    [/edit]
    ________________
    Met vriendelijke groeten,
    Laurens

    "Leven is meervoud van lef"

    [ Dit Bericht is bewerkt door: Laurens op 2002-02-14 16:34 ]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.