Avatar billede oernhoej Nybegynder
22. november 2004 - 10:14 Der er 14 kommentarer og
1 løsning

Send ark sommeddelesestekst via VBA

Hej Eksperter

Jeg har et ark, som gerne skulle sendes som meddelelsestekst. Det skal sendes automatisk ved tryk på en knap, som også gør en del andre ting, som jeg vist nok har styr på.

Det jeg mangler er koden til at sende selve mailen og til at få arket ind som meddelelsestekst.

De aktuelle mailadresser står i celler i arket.
Emnet vil være det samme hver gang ("godtgørelse for kørsel i egen bil")

Er der nogle der kan fortælle mig hvordan koden skal se ud for at det kan lykkes.

Mvh Lise
Avatar billede rigpig Nybegynder
22. november 2004 - 11:53 #1
Kan dette hjælpe?
Sub Email()
ActiveWorkbook.SendMail recipients:="julesne@julemand.com"(email adressen)
End Sub
Avatar billede oernhoej Nybegynder
22. november 2004 - 11:57 #2
Hej

Nej egentlig ikke. Ovenstående sender filen som vedhæftet, jeg skal have den sendt som meddelelsestekst.
og jeg skal finde mailadresserne (2 stk) i arket

Desværre.....
Avatar billede jkrons Professor
23. november 2004 - 15:41 #3
Jeg mener desværre ikke at det, du vil kan lade sig gøre. Du kan sende et ark som vedhæftet fil, men ikke som en del af meddelelsesteksten. Du kan evt. gøre det via automation, men det kræver sandsynligvis at brugeren anvender Outlook.
Avatar billede oernhoej Nybegynder
23. november 2004 - 15:43 #4
Hej

Brugerne anvender Outlook, så det er ikke noget problem.
Avatar billede jkrons Professor
23. november 2004 - 15:51 #5
Jeg ser lige på det og vender tilbage.
Avatar billede oernhoej Nybegynder
23. november 2004 - 15:52 #6
Tak det glæder jeg mig til.
Hvis det kan lade sig gøre er det vigtigt at den kan tage mail-adresserne i arket, for det er forskelligt hvor det skal sendes hen.
Avatar billede jkrons Professor
23. november 2004 - 16:18 #7
Her er et forsøg. Jeg har ikek selv outlook på min hjemme pc, så jeg har ikke afprøvet metoden, men den burde virke. Den første kode sender mailen. Adresserne tages fra A1 og A2 i regnearket, men det kan du selv ændre om nødvendigt. Den sender hele arket som en del af teksten, men KUN det ark, du står i når du sender. Det er IKKE muligt at lægge flere ark ind i meddelelsen som tekst. Den anden del af koden (funktionen) kaldes af den første og omdanner arket til HTM format, som kan indsættes i en mail. Har du brug for yderligere information om, Excel og E-mail kan jeg anbefale Ron de Bruins hjememside, hvor der er manbge eksempler. Her har jeg fx "stjålet" funktionen til omdannelse af ark til htm.

Husak at du under Tools - references i VBA editoren skal sætte flueben ved Microsoft Outlook xx.x Object Library. Nummer afhænger af din version af Outlook.

Sub Send_via_Outlook()
Dim olApp As Outlook.Application
Dim olNewMail As Outlook.MailItem
Dim szBodyTekst As String
Dim sig As Signature
Set olApp = New Outlook.Application
Set olNewMail = CreateItem(olMailItem)
szBodyTekst = "Hermed fremsendes nye regneark" & vbCr
'szBodyTekst = szBodyTekst & "mvh" & vbCr
'szBodyTekst = szBodyTekst & "Tommy Bak" & vbCr


With olNewMail
    .Recipients.Add Range("a1")
    .Recipients.Add Range("a2")
    .Subject = "Nye regneark"
    .HTMLBody = SheetToHTML(ActiveSheet)
    .Send
End With
Set olNewMail = Nothing
Set olApp = Nothing

End Sub

Public Function SheetToHTML(sh As Worksheet)
'Function from Dick Kusleika his site
'http://www.dicks-clicks.com/excel/sheettohtml.htm
'Changed by Ron de Bruin 04-Nov-2003
    Dim TempFile As String
    Dim Nwb As Workbook
    Dim myshape As Shape
    Dim fso As Object
    Dim ts As Object
    sh.Copy
    Set Nwb = ActiveWorkbook
    For Each myshape In Nwb.Sheets(1).Shapes
        myshape.Delete
    Next
    TempFile = Environ$("temp") & "/" & _
    Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
    Nwb.SaveAs TempFile, xlHtml
    Nwb.Close False
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    SheetToHTML = ts.ReadAll
    ts.Close
    Set ts = Nothing
    Set fso = Nothing
    Set Nwb = Nothing
    Kill TempFile
End Function
Avatar billede jkrons Professor
23. november 2004 - 16:20 #8
De to udkommenterede linier 'sz.... samt linien szbodytekst kan du roligt slette.
Avatar billede oernhoej Nybegynder
23. november 2004 - 16:25 #9
Det ser godt ud. jeg kan først teste det i morgen , men jeg glæder mig allerede.
;o)))))) (stort smil!!!!!!!!)
Avatar billede jkrons Professor
23. november 2004 - 16:28 #10
OK. Jeg er måske ikke på i morgen, men lad mig lige vide om det virker.
Avatar billede oernhoej Nybegynder
24. november 2004 - 08:17 #11
Hej jkrons

Det virker helt super!!!!

You rock!!!!!!!!!!!!!!!!!!!!!!!

Mvh Lise
Avatar billede bak Forsker
24. november 2004 - 08:43 #12
Jkrons -> "De to udkommenterede linier 'sz.... samt linien szbodytekst kan du roligt slette."

tak for det :-)
Avatar billede jkrons Professor
24. november 2004 - 08:47 #13
bak-> Det var såmæbnd ikke for at fratage dig æren for den del af koden bak. Og jeg giver såmænd gerne pointene til dig. Jeg menter bare at de var overflødige fordi koden ikke bruger body mend htmlbody.
Avatar billede bak Forsker
24. november 2004 - 08:50 #14
Det ved jeg godt jkrons, det var såmænd bare for at drille lidt. Jeg har jo selv klonet den fra en en anden :-)
Avatar billede jkrons Professor
24. november 2004 - 08:51 #15
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester