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: