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

Excel file als bijlage per mail versturen via outlook dmv VBA

Status
Niet open voor verdere reacties.

Gerwinvdb

Gebruiker
Lid geworden
26 mrt 2012
Berichten
23
Hallo,

Wie kan mij helpen met het volgende.

Ik wil graag dat iemand een Excel file invult en door middel van een klik op een button terugstuurt via Outlook.

Hoor graag of welke manier dit het snelst/slimst kan. De code moet ook werken wanneer Outlook niet is geopend.

Alvast bedankt en als er vragen zijn dan hoor ik het graag.

Groet,

G.
 
Code:
Sub SheetPerEmail()
    Dim strDate As String
    ActiveSheet.Copy
    strDate = Format(Date, "dd-mm-yy") & " " & Format(Time, "h-mm-ss")
    ActiveWorkbook.SaveAs "Part of " & ThisWorkbook.Name _
        & " " & strDate & ".xls"
    ActiveWorkbook.SendMail "[COLOR="#FF0000"]hier het mailadres[/COLOR]", _
        "[COLOR="#FF0000"]hier je onderwerp[/COLOR]"
    ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill ActiveWorkbook.FullName
    ActiveWorkbook.Close False
End Sub


Werkt voor 1 sheet.

Of deze van Ron de Bruin: verstuurd gehele werkmap.

Code:
Sub Mail_workbook_Outlook_1()

    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .to = "ron@debruin.nl"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .Body = "Hi there"
        .Attachments.Add ActiveWorkbook.FullName
        
        .Send
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

zie ook: http://www.rondebruin.nl/win/s1/outlook/amail1.htm
 
Laatst bewerkt:
Bedankt SjonR

Hallo Sjon R,

Bedankt voor je snelle reactie.

Hier heb ik veel aan.

Ik heb nog 2 vragen.

Kan de handtekening van degene die de mail verstuurd worden toegevoegd aan de mail.
Kan er ook een blokkade worden ingebouwd, dat wanneer Cel E7 t/m E100 niet gevuld is (dit is afhankelijk van het aantal cellen gevuld in kolom B) dat dan de button waarmee de mail gegenereerd wordt, niet werkt?

Alvast bedankt.

Groet,

G.
 
Code:
Sub Spaarie()
    With Sheets(1)
        For x = 100 To 7 Step -1
            If .Cells(x, 5).Value = "" Then Exit Sub
        Next
    End With

    strbody = "Dit is een test"
    With CreateObject("Outlook.Application").CreateItem(0)
        .Display
        .To = "E-mail"
        .Subject = "Onderwerp"
        .HTMLBody = strbody & .HTMLBody
        .Attachments.Add ActiveWorkbook.FullName
        .Display 'of Send
    End With
End Sub
 
Spaarie

Bedankt voor je reactie.

Moet ik deze code aan de button koppelen? Dit heb ik namelijk geprobeerd en dan doet de button in Excel niets.

Groet,

G
 
Ja deze koppel je aan een knop...
Wellicht dat het niet werkt omdat 1 van de cellen E7 t/m E100 leeg is?
 
Cellen niet leeg

De cel in E7 heb ik gevuld. Als ik op de button klik gebeurd er niets.
 
Kan er ook een blokkade worden ingebouwd, dat wanneer Cel E7 t/m E100 niet gevuld is (dit is afhankelijk van het aantal cellen gevuld in kolom B) dat dan de button waarmee de mail gegenereerd wordt, niet werkt?
Leg dit eens uit dan?

Want de code werkt nu niet omdat 1 van de cellen niet gevuld is van E7 t/m E100.
Pas anders de code aan bij 'For x = 100' naar 'For x = 10'. Dan hoef je alleen de cellen E7 t/m E10 met een waarde te vullen.

Code kan aangepast worden wanneer bovenstaande kan uitleggen.
 
plaats anders gewoon even het bestand.
 
Hallo Sjon R,

Hierbij het bestand.

Ik wil graag dat wanneer er een artikelnummer is gevuld in kolom B dat ook kolom E wordt gevuld op dezelfde regel. Wanneer de cel in kolom E niets ingevuld wil ik graag dat wanneer je op de button voor verzenden drukt er een melding verschijnt die aangeeft dat het bestand niet verzonden kan worden omdat kolom E niet gevuld is. Graag zie ik ook dat het bestand na verzenden leeg wordt gemaakt.
 

Bijlagen

  • Artikelmutatie.xls
    43 KB · Weergaven: 75
Zo dan?
Code:
Sub Spaarie()
    With Sheets(1)
        For Each v In .Range("B7:B" & .Range("B" & Rows.Count).End(xlUp).Row)
            If v.Value <> "" And v.Offset(, 3).Value = "" Then MsgBox "Cel " & v.Offset(, 3).Address & " is leeg.", vbOKOnly + vbInformation, "Let op!": Exit Sub
        Next

        strbody = "Dit is een test."
        With CreateObject("Outlook.Application").CreateItem(0)
            .Display
            .To = "E-mail"
            .Subject = "Onderwerp"
            .HTMLBody = strbody & .HTMLBody
            .Attachments.Add ActiveWorkbook.FullName
            .Display 'of Send
        End With
    End With
End Sub
 
Dit bedoel ik inderdaad!

Bedankt!

Is het ook mogelijk om het lettertype van tekst in de mail te wijzigen?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan