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

via een macro e-mailadressen op werkblad staan in mail verwerken

Status
Niet open voor verdere reacties.

Aanbod

Gebruiker
Lid geworden
28 okt 2006
Berichten
160
Hallo,

Ik heb de volgende macro gefabriceerd:

Code:
Sub verzenden()

    ActiveSheet.ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
    Sheets("Wedstrijden").ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & "Wedstrijden" & ".pdf"
        With CreateObject("Outlook.Application").CreateItem(0)
        [COLOR="#FF8C00"].To = ""[/COLOR]
        .Subject = "Wedstrijden 2014 - 2015"
        .Body = "Hallo D07, " & vbNewLine & vbNewLine & "Hierbij ontvangen jullie een nieuw overzicht voor de komende tijd." & vbNewLine & vbNewLine & " Groet Andre Klein Starink"
        .Attachments.Add ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
        .Attachments.Add ThisWorkbook.Path & "\" & "Leiders" & ".pdf"
        .Display   'of gebruik .Send
    End With
    Kill ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
    Kill ThisWorkbook.Path & "\" & "Leiders" & ".pdf"

End Sub

Deze werkt gewoon goed. Maar nu zou ik graag meerdere e-mailadressen toevoegen waar aan deze mail moet worden gestuurd. Deze staan in kolom H24 t/m H44. Kun je deze macro ook zo inrichten dat de e-mailadressen worden opgenomen? Op de plaats wat ik nu in de code in rood heb aangeven?

Alvast bedankt.
 
Je kunt de inhoud van de cellen H24 t/m H44 in een string variabele zetten, gescheiden door het ; teken. Achter .To = zet je dan de variabele. Misschien dat je dan beter .BCC kunt gebruiken om de adressen voor de ontvangers te verbergen.
 
Code:
.Bcc=Join([transpose(H24:H44)], ",")
 
Da's een mooie SNB. Maar moeten de adressen niet worden gescheiden door een ; waar je nu een , gebruikt?
 
Was maar even als puntje van aandacht voor TS ;)
 
Hallo,

Jullie hulp is voortreffelijk. Ik heb de volgende code in orde gemaakt.
Code:
Sub verzenden()

    ActiveSheet.ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
    Sheets("Wedstrijden").ExportAsFixedFormat 0, ThisWorkbook.Path & "\" & "Wedstrijden" & ".pdf"
        With CreateObject("Outlook.Application").CreateItem(0)
        '.To = Join([transpose(H24:H44)], ";")
        .Bcc = Join([transpose(H24:H44)], ";")
        .Subject = "Seizoen"
        .Body = "Hallo, " & vbNewLine & vbNewLine & "Hierbij ontvangen jullie het overzicht voor de komende wedstrijden. Ook de planning voor het wassen en rijden is ingepland." & vbNewLine & vbNewLine & " Groet Andre Klein Starink"
        .Attachments.Add ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
        [COLOR="#FFFF00"].Attachments.Add ThisWorkbook.Path & "\" & "Leiders" & ".pdf"[/COLOR]
        .Display   'of gebruik .Send
    End With
    Kill ThisWorkbook.Path & "\" & ActiveSheet.Name & ".pdf"
    Kill ThisWorkbook.Path & "\" & "Leiders" & ".pdf"

End Sub

Maar ik krijg een foutmelding. En alles al nagekeken ook qua instelling. Maar de volgende foutmelding krijg ik:


Bekijk bijlage foutmelding printscreen excel 1.docx

En als je foutopsporing doet dan ligt de geel gekleurde letters op. Ik kan geen fout ontdekken. Daar het tabblad exact zo heet als ik het heb omschreven.
 
"Leiders.pdf" zit in dezelfde map als Thisworkbook.path ?
 
Laatst bewerkt:
Het zit in het zelfde bestand en is een tabblad die de naam "Leiders" draagt.
Maakt de volgorde dan nog wat uit?

Eerst komt tabblad "wedstrijden" dan het tabblad "Spelers" en dan het tabblad "Leiders"

En ik heb op het eerste blad de knop gemaakt met de code voor de uitvoering hiervan.
 
Het is toch wel een PDF mag ik hopen?
 
Nee het is geen pdf. Maar het zou van een excel tabblad een pdf gemaakt moeten worden om zodoende deze in de mail toegevoegd krijgen als pdf-bestand.


Het meest vreemde van alles is dat ik een ander excel-bestand heb waarin het wel werkt.....Ik vind het allemaal vreemd. Dus vandaar deze vraag hier nu.

groet Andre
 
Je wilt een PDF als bijlage versturen die niet bestaat (ik had al zo mijn vermoedens).
Alles staat in de code om er een PDF van te maken.
 
Ik snap even je antwoord niet......in de eerste zin interperteer ik als dat gaat niet lukken.
En in de tweede zin geef je aan dat het wel goed staat?????

Even iets meer uitleg graag.
 
Ik bedoel:

Alles staat in de code om dit te realiseren.

Je maakt in de code wel een PDF aan van tabblad "wedstrijden".
Dit kun je toch ook doen voor tabblad "Leiders" ?
 
Ach....Tuurlijk.... Ik sta nl. niet in het actieve document en dan maakt die uiteraard niet van de leiders een pdf.
En in mijn andere bestand MOEST je in het op het tabblad staan om een bestand aan te maken.

Achteraf logisch.....

Sorry voor de overlast.... ga er mee aan het werk.
 
Ik heb een klein probleempje ontdekt.

Als in de kolom H een mailadres ontbreekt (normaliter is dit niet mogelijk) neemt de macro of outlook een willekeurig mailadres over die totaal niet in de kolom staat vermeld. Ik heb een groot vermoeden dat outlook dit doet.

Ik heb in het programmeren niet zoveel ervaring mee dat ik uitsluiting kan maken.
Zou het volgende kunnen??
Dat er een controle is op een leeg veld indien dit het geval is deze over te slaan en de volgende cel in de kolom controleert?

Kortom dat ik alleen daadwerkelijk e-mailadressen krijg die ingevuld zijn en als er een leeg veld is deze wordt overgeslagen.
 
Dan moet je dit eens proberen.
Code:
.bcc = join(application.transpose(range("h24:h44").specialcells(2)), "; ")
 
Helaas Harry......dit werkt niet....

Ik heb inmiddels opgelost. Mocht het voorkomen dan zet ik gewoon een x of mijn eigen mailadres in de ledenlijst.
Op die manier omzeil ik het probleem al.
 
Staan er soms formules of verwijzingen in de cellen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan