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

VGA code vet gedrukt

Status
Niet open voor verdere reacties.

Aanbod

Gebruiker
Lid geworden
28 okt 2006
Berichten
163
Hallo,

Ik heb de volgende code in VBA gebruikt:

Code:
.Body = "Hallo, " & vbNewLine & vbNewLine & ActiveSheet.Range("A4 ") & " " & ActiveSheet.Range(" D4") & vbNewLine & ActiveSheet.Range("A5 ") & " " & ActiveSheet.Range(" D5")

Nu zou ik graag dat
Code:
& ActiveSheet.Range(" D4")
in vet wordt weergeven in de mail.


Wie o wie kan me helpen aan deze code en hoe pas ik die toe in de 1e coderegel.
En eventueel een link geven waar ik alle codes kan weervinden die ik kan gebruiken.

Bedankt allemaal.
 
Hetzelfde geldt voor RTF, maar HTML is veruit de meest makkelijke manier om dit te bereiken. RTF is een nogal vervelende opmaak taal, vooral voor alleen zoiets als een dikgedrukte text.
 
Hallo,

Bedankt voor de info.
Maar gelden de codes ook voor de NL versie van MS Outlook.

Ik gebruik voor zowel Excel als Outlook 2010 de NL-versie.

Groet,
 
Reden van de bovenstaande opmerking is dat ik in de onderstaande regel een foutmelding krijg.

Code:
Call createJpg("Dashboard", "A1:E35", "DashboardFile")
 
Wel handig dat je ook even de foutmelding erbij verteld :rolleyes:
 
In Rotterdam schrijven we 'verteld' met een 't' :).
 
De foutmelding is:

Compileerfout
Sub of Function niet gedefinieerd

Groet
 
Dan bestaat dus de functie createJpg() niet en die staat ook in de link die ik je gaf.
 
Hallo,

Ik blijf de foutmelding houden wat ik ook doe.
Als ik dit gedeelte eruit haal wordt wel de e-mail aangemaakt. Uiteraard zonder de gegevens waar het juist omdraait.

Nu toch maar de hulp inroepen.

Code:
'first we create the image as a JPG file
            Call createJpg("Dashboard", "A1:E35", "Dashboardfile")
            'we attached the embedded image with a Position at 0 (makes the attachment hidden)
            TempFilePath = Environ$("temp") & "\"
            .Attachments.Add TempFilePath & "Dashboard.jpg", olByValue, 0

Als ik het juist begrijp wordt in de eerste regel uitleg gegeven wat de volgende regel doet. Vrij vertaald staat er "Eerst een JPG-bestand maken"
De tweede regel is de opdracht. Hier wordt ook de range (heb ik aangepast naar wat ik nodig heb) en je geeft de bestandsnaam aan.*
De derde regel vrij vertaald "We sluiten nu de bijlage erbij, bijlage is verborgen"
4e regel Het pad wordt zichtbaar gemaakt waar de bijlage staat.
5e regel de naam van de file wordt nu gegeven.

* = Deze regel begrijp ik niet helemaal goed. Dashboard en Dashboardfile waar is die benaming voor en waar voor wordt deze gebruikt. Als ik (want dat heb ik geprobeerd) het moet zeggen zou dit de benaming van het blad zijn waar de informatie op staat. Of te wel: Blad2!A1:E35. Maar dit werkt ook niet.

Groet,
 
Ik begrijp het niet zo goed, het deel waar je orgineel om vroeg staat een stuk later in de code?

Code:
.HTMLBody = "<span LANG=EN>" _
                & "<p class=style2><span LANG=EN><font FACE=Calibri SIZE=3>" _
                & "Hello,<br ><br >The weekly dashboard is available " _
                & "<br>Find below an overview :<BR>"
.HTMLBody = .HTMLBody & "<br><B>WEEKLY REPPORT:</B><br>" _
                & "<br>Best Regards,<br>Ed</font></span>"
Dit stuk is precies wat je zoekt, de rest kun je in principe allemaal weglaten. de <b> xxxx </b> is het stuk wat de text "bold" maakt. <br> is een "enter" in HTML. Als je de standaard taal en font etc niet interessant vind kun je het zelfs verkleinen tot dit:

Code:
.HTMLBody = "dit is gewoon <b>dit is bold</b> <i>dit is italic</i> <u>dit is underline</u> <br> dit staat op een nieuwe regel "
 
Op 26-2 (gisteren) heeft Ed Moor me een link gegeven.
Naar aanleiding van deze link zag ik dat je een blad met een bepaalde range 1 op 1 kunt overzetten via VBA.

Deze "formule " heb ik gekopieerd en aangepast aan mijn omgeving. Helaas kreeg ik een foutmelding. En vandaar (zoals ik het begrijp) ben jij (Wampier) de weg even bijster.

Ik vind het dus handiger om een bepaalde range op een bepaald werkblad 1 op 1 over te kunnen nemen.
Dit geeft stukken minder programmeerwerk dan zoals ik het in eerste instantie wilde doen.

Hopelijk begrijp je mijn switch nu.
 
Ja, maar eerst even testen zonder de attachment zou ik zeggen.

Je hebt dit ook toegevoegd?:

Code:
Sub createJpg(Namesheet As String, nameRange As String, nameFile As String)
    ThisWorkbook.Activate
    Worksheets(Namesheet).Activate
    Set Plage = ThisWorkbook.Worksheets(Namesheet).Range(nameRange)
    Plage.CopyPicture
    With ThisWorkbook.Worksheets(Namesheet).ChartObjects.Add(Plage.Left, Plage.Top, Plage.Width, Plage.Height)
        .Activate
        .Chart.Paste
        .Chart.Export Environ$("temp") & "\" & nameFile & ".jpg", "JPG"
    End With
    Worksheets(Namesheet).ChartObjects(Worksheets(Namesheet).ChartObjects.Count).Delete
Set Plage = Nothing
End Sub
 
Ik ga jouw stukje er eens bijp(l)akken en dan eens even verder testen. Bedankt voor de hulp.

Dit is de complete formule:

Code:
Sub mail_wedstrijd_zaterdag()

Application.Calculation = xlManual
        With Application
            .ScreenUpdating = False
            .EnableEvents = False
        End With
     
        Dim TempFilePath As String
         
        'Create a new Microsoft Outlook session
        Set appOutlook = CreateObject("outlook.application")
        'create a new message
        Set Message = appOutlook.CreateItem(olMailItem)
           
         
        With Message
            .Subject = "Wedstrijd a.s. zaterdag " & ActiveSheet.Range("D3")
            .HTMLBody = "<span LANG=EN>" _
                & "<p class=style2><span LANG=EN><font FACE=Calibri SIZE=3>" _
                & "Hello,<br ><br >The weekly dashboard is available " _
                & "<br>Find below an overview :<BR>"
                
            'first we create the image as a JPG file
            [COLOR="#0000FF"]Call createJpg("Dashboard", "A1:E35", "Dashboardfile")[/COLOR]
            'we attached the embedded image with a Position at 0 (makes the attachment hidden)
            TempFilePath = Environ$("temp") & "\"
            .Attachments.Add TempFilePath & "Dashboard.jpg", olByValue, 0
                
            'Then we add an html <img src=''> link to this image
            'Note than you can customize width and height - not mandatory
                
            .HTMLBody = .HTMLBody & "<br><B>WEEKLY REPPORT:</B><br>" _
                & "<img src='cid:DashboardFile.jpg'" & "width='814' height='33'><br>" _
                & "<br>Best Regards,<br>Ed</font></span>"
                 
            '.To = "contact1@email.com; contact2@email.com"
            '.Cc = "contact3@email.com"
                 
            .Display
            '.Send
        End With
     
        With Application
            .ScreenUpdating = True
            .EnableEvents = True
        End With
        Application.Calculation = xlCalculationAutomatic
    End Sub
 
Laatst bewerkt:
Ik zie nog steeds die createJpg() functie niet.
 
Ik heb de regel nu blauw gemaakt. Hier staat jou antwoord op jouw opmerking Edmoor
 
Ja, dat is de aanroep naar de functie, maar de functie zelf staat niet in je voorbeeld.
 
Ja...dat is het. Het stuk wat er bij onder staat......moet ook in de VBA staan...
Eigenlijk ook wel logisch......

Sorry voor het ongemak.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan