Mail versturen vanuit Excel

  • Onderwerp starter Onderwerp starter ZZ1
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ZZ1

Gebruiker
Lid geworden
21 jul 2009
Berichten
116
Hallo,

Ik wil graag een excelbestandje versturen dmv commandbutton.

Maar niet als bijlage maar als tekst, dat hij het moet plakken in de email en daarna moet versturen.

Ik heb de volgende code, nu verstuurd hij het als bijlage:
Code:
Private Sub cdm_versturen_Click()

  With ActiveWorkbook
    .SendMail WorksheetFunction.Transpose([Blad1!C3]), .Name
    .Close False
  End With

End Sub

Alvast bedankt!!
 
Voorbeeld van Ron de Bruin

Ik gebruik een code van Ron de Bruin

Code:
Sub Outlook_Mail_Every_Worksheet_Body()
' Working in Office 2000-2007
    Dim OutApp As Object
    Dim OutMail As Object
    Dim ws As Worksheet
 
    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With
 
    Set OutApp = CreateObject("Outlook.Application")
    OutApp.Session.Logon
 
    For Each ws In ActiveWorkbook.Worksheets
        If ws.Range("A1").Value Like "?*@?*.?*" Then
            Set OutMail = OutApp.CreateItem(0)
 
            On Error Resume Next
            With OutMail
                .To = ws.Range("A1").Value
                .CC = ""
                .BCC = ""
                .Subject = "Terug bel bericht"
                .HTMLBody = RangetoHTML(ws.UsedRange)
                .Display    'or use .Send
            End With
            On Error GoTo 0
 
            Set OutMail = Nothing
        End If
    Next ws
 
    Set OutApp = Nothing
    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With
End Sub

Deze plakt alles wat er in blad 1 staat in een e-mail, let wel je e-mail waar het heen gestuurd dient te worden staat in A1

Groet HWV
 

Bijlagen

Laatst bewerkt:
Ik krijg de volgende foutmelding :( :


Compileerfout:

Sub of Function is niet gedefinieerd

dat is bij de volgende regel:
".HTMLBody = RangetoHTML(ws.UsedRange)"

Het wordt verstuurd via outlook toch?
En vanaf welk account dit van Outlook wordt gedaan maakt niets uit?

Al bedankt voor de snelle reactie HWV :D
 
bestandje

Heb je het bijgevoegde bestandje al getest

Groet HWV
 
Beste HWV,

Ik heb het bestandje zonet even gekeken, maar ben ook maar een beginner!! Maar wil graag leren!!

Misschien kan je mij wat uitleg geven.
Ik heb een bestandje bijgevoegd.

In het userform kun je verschillende email adressen van mijn collega's selecteren dmv keuzelijst (deze heb ik nu weggelaten)
Deze wordt getoont in cel C3 en daar ziet de button verzenden naar.

Maar op mijn manier verstuurd hij hem als bijlage maar ik zou het graag zoals jou bestand willen, dat is veel makkelijker.

Kun jij mij extra opweg brengen??

Alvast bedankt!!
 

Bijlagen

Laatst bewerkt:
Ron de Bruin

Ik heb de code van http://www.rondebruin.nl/ gehaald en daar wat aanpassingen aangedaan.
In het begin liep ik ook vast dat het niet lukt ivm met een functie die in het blad zit.
Uiteindelijk heb ik een voorbeeld van Ron gepakt en die gaan verbouwen met het resultaat in de vorige bijlage.

Helaas gaat mijn kennis ook niet zover dat ik jou daarmee op weg kan helpen.

Misschien op de zelfde manier zoals ik heb gedaan een voorbeeld pakken en dan gaan verbouwen.
Formulier van jou ziet er goed uit, is hij af hou ik me aanbevolen :D

Groet HWV
 
Hallo,

Ik heb nog wat zitten zoeken.
Maar ik stuit op deze code maar nu moet ik nog mijn opmaak copieren en plakken in outlook.
Ook deze vind ik en dat zou de volgende code moeten zijn:
Code:
Set source = Range("A1:D15").SpecialCells(xlCellTypeVisible)
Range("A1:D15").Select

Maar waar moet ik deze plaatsen?? Verder is mij gehele code om een mail te sturen:
Code:
With CreateObject("Outlook.Application").createitem(olMailItem)
  .To = Range("C3").Value
  .Subject = "Terugbel mail"
  .Send
End With

Zie ook mijn bestandje.

Heeft iemand misschien ook nog een oplossing dat sommige velden perse moeten worden ingevuld voordat hij hem opslaat in excel??

Alvast bedankt!!
 

Bijlagen

Hallo Helpers!

Ik heb het op HWV zijn manier opgelost!!

Heel erg bedankt voor de hulp en de leer!!

Zie bijgevoegd bestandje van de uitslag.

Als je deze code in model 1 veranderd naar die daaronder dan wordt hij direct verstuurd:

Code:
        .To = Range("C3").Value
        .Subject = "Terugbel mail"
        .Display   'or use .Send
        .HTMLBody = RangetoHTML(rng)

Code:
        .To = Range("C3").Value
        .Subject = "Terugbel mail"
        .HTMLBody = RangetoHTML(rng)
        .Send

Gr. ZZ1
 
Bestandje

Misschien dan wel het bestandje bijvoegen :confused:

Groet HWV
 
Mijn excuses!

Hierbij het bestandje!

Je zou anders bij het userform bij keuzelijst je eigeninvoer nog moeten doen
 

Bijlagen

Puntje

Zet nog even een punt in A14, maak deze wit als opmaak.
Als je nu op verstuur druk is er ook een zwartelijn aan de onderzijde zichtbaar.
Dit ziet hij dan als einde van wat er gekopieerd moet gaan worden

Groet HWV
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan