• 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.

mailen naar mailadressen in cell

Status
Niet open voor verdere reacties.

descheep

Gebruiker
Lid geworden
24 feb 2009
Berichten
153
Hi allen.

Is het mogelijk om een button te maken (ja) en hieraan een vba code te hangen (ja) die outlook opent, een nieuwe mail start en alle mailadressen toevoegd uit bijv. A1 t/m A10.

Ik hoor het graag!

Bedankt alvast voor het nadenken.

Groeten Marco
 
Hi,

Ik heb Ron zijn website bekeken en in principe staat er een prachtig voorbeeld.

De kolommen heb ik reeds aangepast, maar het werkt nog niet omdat de cell waar het mailadres staat een formule is.

Iemand een idee hoe ik de macro kan aanpassen om het toch werkend te krijgen?
Het bestand heb ik bijgevoegd en enigszins privacy proof gemaakt, behalve mijn mailadres.
 

Bijlagen

heb je de code getest en werkt hij zonder samengevoegde cellen (met een emailadres in M11) wel?

ik heb hem getest (mijn kennis van VBA is beperkt), maar ik krijg hem niet werkend.
 
je conclusie is de juiste ;-)

dat werkt inderdaad, maar dat is niet helemaal de bedoeling
 
je conclusie is de juiste ;-)

dat werkt inderdaad, maar dat is niet helemaal de bedoeling

Wil je 1 bericht sturen naar meerdere mensen tegelijk of in een batchverwerking ieder een aparte email sturen?

Met vriendelijke groet,


Roncancio
 
Hi Roncancio,

In principe 1 mail naar meerdere personen/mailadressen tegelijk.

groeten Marco
 
Misschien is dit de oplossing

Hang aan de mailbutton een hyperlink met mailto:

Bijvoorbeeld: mailto:emailadres1@provider.nl;emailadres2@provider.nl;emailadres3@provider.nl;emailadres4@provider.nl enz. enz.
 
dan ben ik mijn flexibiliteit kwijt....

ik ben er wel achter dat het probleem hier in zit:
When you are working in Excel, either with formulas or with Visual Basic For Applications (VBA) code, it is important to understand the difference between the actual value of a cell and what is displayed on the screen. The actual value of the cell is what Excel stores internally and what it uses in formulas and calculations. This is not necessarily the same as what you see displayed on the screen or printed on your reports. It is important that you understand the difference between the two -- otherwise, your formulas may not work as expected.

maar ja, hoe gaan we in dit scriptje vba tonen dat de cell een waarde is en geen formule.
 
dan ben ik mijn flexibiliteit kwijt....

ik ben er wel achter dat het probleem hier in zit:
When you are working in Excel, either with formulas or with Visual Basic For Applications (VBA) code, it is important to understand the difference between the actual value of a cell and what is displayed on the screen. The actual value of the cell is what Excel stores internally and what it uses in formulas and calculations. This is not necessarily the same as what you see displayed on the screen or printed on your reports. It is important that you understand the difference between the two -- otherwise, your formulas may not work as expected.

maar ja, hoe gaan we in dit scriptje vba tonen dat de cell een waarde is en geen formule.

Mwa, ik zie het probleem eerlijk gezegd niet.
Wat je namelijk kan doen is dat VBA de e-mailadressen bij elkaar voegt.
Dus simpel gezegd kijkt VBA in een bepaald bereik en zet de gevonden e-mailadressen bij elkaar zodat je die in het bericht kunt gebruiken voor Aan.

Met vriendelijke groet,


Roncancio
 
Hi Roncancio,

???

Het script pakt alle mailadressen in kolom M op en stuurt een mail.
Dit werkt inderdaad en is het probleem niet als ik een mailadres neerzet in M.
Nu wil het geval dat M een formule is (om het mailadres te verkrijgen) en ik begrijp werkelijk niet hoe ik VBA kan laten denken dat M een mailadres is ipv een formule.

Kun jij de VBA aanpassen voor mij, want jij ziet het probleem eerlijk gezegd niet :thumb:
 
Descheep

De code die je nu hebt, stuurt 10 mails als je 10 emailadressen hebt.

Niet, 1 mail gestuurd naar 10 bestemmelingen.
 
Toevoeging:

als je de Text eigenschap van een cel gebruikt ipv de Value eigenschap, dan krijg je hetgeen je ziet in de cel, niet noodzakelijk de echte inhoud van de cel.
 
Descheep

De code die je nu hebt, stuurt 10 mails als je 10 emailadressen hebt.

Niet, 1 mail gestuurd naar 10 bestemmelingen.

Hij verstuurd nog helemaal niets :d

Ik heb Value veranderd in Text, maar geen succes.
Wel iets gevonden waarmee je de uitkomst van de formule in M11 kan tonen als tekst in N11.

Range("N11").Value = "'" & Range("M11").Text & ""

Dit lijkt te werken, maar hoe kan ik dit in de loop bakken zodat hij alle mailadressen van alle personen in N neerzet.
 
.......beetje knutselen met een collega en het lijkt te werken......

Sub Knop146_BijKlikken()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range

Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")

On Error GoTo cleanup
For Each cell In Columns("M").Cells.SpecialCells(xlCellTypeFormulas)
If (Cells(cell.Row, "M").Text) Like "?*@?*.?*" And _
LCase(Cells(cell.Row, "N").Text) = "ja" Then

Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = (Cells(cell.Row, "M").Text)
.Subject = "Reminder"
.Body = "Beste " & Cells(cell.Row, "D").Value _
& vbNewLine & vbNewLine & _
"Please contact us to discuss bringing " & _
"your account up to date"
'You can add files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'Or use Display
End With
On Error GoTo 0
Set OutMail = Nothing
End If
Next cell

cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub

Heb ik nog wel een tweetal vragen:

Stel ik wil de verzendknop en een ander werkblad hebben, hoe kan in VBA een verwijzing maken?
(werkblad! lijkt niet te werken)
Outlook opent nu een pop up waar je op JA moet drukken voor het verzenden.
Helaas moet dit nu bij iedere persoon, is dit te veranderen?

Ik hoor het graag.

Groeten Marco
 
Ongetest:

Code:
Sub Knop146_BijKlikken()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Dim sAan As String

    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    
    On Error GoTo cleanup
    For Each cell In Columns("M").Cells.SpecialCells(xlCellTypeFormulas)
        If (Cells(cell.Row, "M").Text) Like "?*@?*.?*" And LCase(Cells(cell.Row, "N").Text) = "ja" Then
            sAan = sAan & Range("M" & cell.Row).Value & ";"
        End If
    Next cell
    
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = sAan
        .Subject = "Reminder"
        .Body = "Please contact us to discuss bringing your account up to date"
        .Send
    End With
    Set OutMail = Nothing
    
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub

In plaats van dat je 10 emailberichten verzendt, "bewaar" je de gevonden emailadressen in sAan.
Zodra alle adressen gevonden zijn, verstuur je het bericht in 1 keer.

Met vriendelijke groet,


Roncancio
 
.......beetje knutselen met een collega en het lijkt te werken......



Heb ik nog wel een tweetal vragen:

Stel ik wil de verzendknop en een ander werkblad hebben, hoe kan in VBA een verwijzing maken?
(werkblad! lijkt niet te werken)
Outlook opent nu een pop up waar je op JA moet drukken voor het verzenden.
Helaas moet dit nu bij iedere persoon, is dit te veranderen?

Ik hoor het graag.

Groeten Marco

Je kunt verwijzen naar een bereik in een ander werkblad als je maar aangeeft in welk werkblad VBA moet kijken. Je dient de naam of indexnummer van het werkblad te gebruiken.
De pop up is te omzeilen maar dan moet je niet verzenden met Outlook maar met SMTP.

Met vriendelijke groet,


Roncancio
 
Hi Roncancio


Maar wel werkend met 1x een pop up :thumb:

Je kunt verwijzen naar een bereik in een ander werkblad als je maar aangeeft in welk werkblad VBA moet kijken. Je dient de naam of indexnummer van het werkblad te gebruiken.

Stel de data moet uit werkblad evenement komen en de mailbutton zit in werkblad mail, hoe zou dat eruit zien dan? ;)

Super hoor tot zover!
 
Hi Roncancio



Maar wel werkend met 1x een pop up :thumb:



Stel de data moet uit werkblad evenement komen en de mailbutton zit in werkblad mail, hoe zou dat eruit zien dan? ;)

Super hoor tot zover!

Waar de mailbutton staat is niet van belang.

Code:
Sub Knop146_BijKlikken()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range
Dim sAan As String

    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")
    
    On Error GoTo cleanup
    With Worksheets("Evenement")
        For Each cell In .Columns("M").Cells.SpecialCells(xlCellTypeFormulas)
            If .Range("M", cell.Row).Text Like "?*@?*.?*" And LCase(.Range("N", cell.Row).Text) = "ja" Then
                sAan = sAan & .Range("M" & cell.Row).Value & ";"
            End If
        Next
    End With
    Set OutMail = OutApp.CreateItem(0)
    With OutMail
        .To = sAan
        .Subject = "Reminder"
        .Body = "Please contact us to discuss bringing your account up to date"
        .Send
    End With
    Set OutMail = Nothing
    
cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub

Met vriendelijke groet,


Roncancio
 
Hi Roncancio,

Die laatste doet het helaas niet :confused:

Vermoedelijk wel dicht in de buurt :D

Wil jij nog één keertje kijken voor me?

groeten Marco
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan