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

HTMLBody en ook extra tekst in mail versturen

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.525
Ik heb me rot gezocht en uitgeprobeerd (o.a on de bruin) voor een mogelijkheid om zowel
een geselecteerd gebied in excel te versturen maar om aan dat bericht ook nog extra tekst aan toe te voegen wil me maar niet lukken.

Tot nu toe heb ik onderstaande, hoe krijg ik nu de rest in de mail?

Code:
Sub Mail_Send_Selection_Or_Range_Body()
    Dim rng As Range
    Dim iMsg As Object
    Dim iConf As Object
    Dim Flds As Variant
    
  
    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxx.xx.nl"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update
        End With


    Set rng = Nothing
    On Error Resume Next

    Set rng = Selection.SpecialCells(xlCellTypeVisible)

    On Error GoTo 0

    If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected" & _
               vbNewLine & "please correct and try again.", vbOKOnly
        Exit Sub
    End If

    With Application
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    With iMsg
        Set .Configuration = iConf
        .to = "mijn.email@gmail.com"
        .CC = ""
        .BCC = ""
        .From = """mijn persoontje"" mijn.email@gmail.com"
        '.Subject = "Selectie uit Excel Bestand"
        '.Subject = "Test van mij"
        .Subject = ActiveSheet.Range("A15")
        
         .HTMLBody = RangetoHTML(rng)
              
          
        [COLOR="#FF0000"] .TextBody = "Beste Leverancier, " & vbCrLf & vbCrLf & _
        "Hierbij ontvangt u een overzicht van order" & "" & ActiveSheet.Range("C2").Text & vbCrLf & vbCrLf & _
        "Van deze order is een deel niet geleverd." & vbCrLf & vbCrLf & _
        "Volgens onze gegevens hebben wij hierover geen bericht ontvangen." & vbCrLf & vbCrLf & _
        "Wilt u ons hierover zsm informeren?" & vbCrLf & vbCrLf & _
        "met vriendelijk groet," & vbCrLf & _
        "mijn persoon."[/COLOR]
        .Send
    End With

    With Application
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End Sub
 
Wat wil je precies, en wat werkt er niet? Ik zie dat je een cel uitleest met .Text; krijg je die niet te zien?
 
Ik wil dat er een mail word verzonden met het geselecteerde bericht in het werkblad en dat werkt ook gewoon.
Ik krijg dan een mail met de selectie uit het werkblad in de body van de email.

Maar ik wil er ook nog extra tekst in de mail bij hebben boven de selectie uit excel in de body. (zie de rode tekst in de code van mijn begin post)
 
Heb je dit al geprobeerd (niet getest)
Code:
 .HTMLBody = "Beste Leverancier, " & vbCrLf & vbCrLf & _
        "Hierbij ontvangt u een overzicht van order" & "" & ActiveSheet.Range("C2").Text & vbCrLf & vbCrLf & _
        "Van deze order is een deel niet geleverd." & vbCrLf & vbCrLf & _
        "Volgens onze gegevens hebben wij hierover geen bericht ontvangen." & vbCrLf & vbCrLf & _
        "Wilt u ons hierover zsm informeren?" & vbCrLf & vbCrLf & _
        "met vriendelijk groet," & vbCrLf & _
        "mijn persoon." & vbCrLf & RangetoHTML(Rng)
 
First, thanks voor het meedenken gast0660.

De tekst die ik wil invoegen komt dan inderdaad wel in de body te staan maar de selectie uit de excelsheet staat dan als .html (denk ik) in de body.

--------------------------------------------------------------------

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=Excel.Sheet> <meta name=Generator content="Microsoft Excel 15"> <link rel=File-List href="26-11-18%2013-50-28_files/filelist.xml">
<style id="Sheet1_9089_Styles">
<!--table
{mso-displayed-decimal-separator:"\,";
mso-displayed-thousand-separator:"\.";}
.xl159089
{padding-top:1px;
padding-right:1px;
padding-left:1px;
mso-ignore:padding;
color:black;
font-size:11.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:Calibri, sans-serif;
mso-font-charset:0;

etc
 
ik vermoed dat je nog een module hebt met code (RangetoHTML??), post die code ook eens.
Dan kan ik je probleem nabouwen.
Je zal waarschijnlijk het rode gedeelte van je code in html moeten omzetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan