Sända arbetsblad som meddelande med Outlook Express
I detta tips visar hur vi kan sända det aktiva arbetsbladet som HTML-meddelande i MS Outlook Express, dvs som ett inbäddat objekt.Lösningen bygger på två företeelser, egenskapen "EnvelopeVisible" (finns ej att tillgå i Excel 97) och "SendKeys". "SendKeys" är inte alltid ett tillförlitligt förfarande varför en liten varning är på sin plats, i synnerhet om lösningen ska appliceras i affärskritiska system.
Option Explicit
Sub Skicka_Arbetsblad_HTML()
'© 2002 Alla rättigheter XL-Dennis
Dim stTo As String
Dim stCC As String
Dim stSubject As String
Dim stMedd As String
Dim rnText As Range
stMedd = "Underlag enligt ök. Mvh Dennis"
Application.ScreenUpdating = False
Set rnText = ActiveSheet.Range("A14")
rnText.Value = stMedd
Range("A1").Select
'Visar e-postbrevhuvudet och verktygsfältet för att skapa e-post i MS Excel.
ThisWorkbook.EnvelopeVisible = True
'Positionera markören till fältet Till:"
SendKeys "+{TAB}+{TAB}+{TAB}", True
stTo = "info@xldennis.com"
'Skriver in variabelns värde och flyttar markören till fältet Kopia:"
SendKeys "{HOME}+{END}{DEL}" & stTo & "{TAB}", True
stCC = "konsult@xldennis.com"
'Skriver in variabelns värde och flyttar markören till fältet Ämne:"
SendKeys "{HOME}+{END}{DEL}" & stCC & "{TAB}", True
stSubject = "Skickar aktivt blad."
'Skriver in variabelns värde och flyttar markören till meddelandeutrymmet.
SendKeys "{HOME}+{END}{DEL}" & stSubject & "{TAB}", True
'Sänder iväg e-post.
SendKeys "%s", True
'Stänger e-postbrevhuvudet och verktygsfältet för att skapa e-post i MS Excel.
ThisWorkbook.EnvelopeVisible = False
Application.ScreenUpdating = True
End Sub
Följande bild visar hur e-postbrevhuvudet visas i Excel efter att ovanstående procedur har exekverats fram till dess att e-postmeddelandet ska sändas iväg:
Bilden är kraftig beskuren för att få plats på bildskärmen.
Nedanstående bild visar hur meddelandet ser ut i Outlook Express efter att ha blivit ivägsänt: