VBATools

Wyświetlenie animowanej treści w wiadomości Email

by on Aug.31, 2011, under Outlook, Porady

W wersji >=2007, ze względu na możliwość ataków związanych z osadzeniem złośliwego kodu w plikach animowanych [GIF] producent zrezygnował z ich pokazaniem w treści wiadomości. O ile autor wiadomości będzie na liście zaufanych odbiorców obrazek wyświetli się ale ukarze tylko klatkę nr1 (bez animacji).

Aby podglądnąć wiadomość, podobnie jak to było w wersjach wcześniejszych należy wywołać procedurę przekazania jej do przeglądarki internetowej.

Sub Otwieraj_w_Przegladarce()
'Mod by MVP OShon from VBATools.pl
 Dim Konwertuj As Boolean: Konwertuj = False
 Dim ZamienNaHTML As Boolean: ZamienNaHTML = True
 Dim OutlookConvert As Boolean: OutlookConvert = True
 Dim WierszHTML$, objFile As Object, Zaznaczono As Outlook.Selection
 Dim FSO As Object, NazwaPliku As Variant
 Const Przegladarka$ = "C:\Program Files\Internet Explorer\iexplore.exe"
 'można zmienić przeglądarkę z IE na inną.
 Set FSO = CreateObject("scripting.filesystemobject")
 Set NazwaPliku = FSO.GetSpecialFolder(2)

 Dim ZaznaczonaWiadomosc As MailItem
 Set Zaznaczono = Application.ActiveExplorer.Selection
 If Zaznaczono.Count = 0 Then
   MsgBox "Zaznacz wiadomość!", vbExclamation, "VBATools": Exit Sub
 ElseIf Zaznaczono.Count > 1 Then
   MsgBox "Zaznacz tylko jedną wiadomość!", vbExclamation, "VBATools": Exit Sub
 End If

 Set ZaznaczonaWiadomosc = Zaznaczono.item(1)
 If ZaznaczonaWiadomosc.BodyFormat = olFormatHTML And Konwertuj = False Then
   WierszHTML = ZaznaczonaWiadomosc.HTMLBody
   If ZamienNaHTML = False Then
      OutlookConvert = False
   Else
      If InStr(UCase(WierszHTML), UCase("src=""cid:")) = 0 Then OutlookConvert = False
   End If
 End If

 NazwaPliku = NazwaPliku & "" & "VBATools.htm"
 If OutlookConvert = False Then
  Set objFile = FSO.CreateTextFile(NazwaPliku, True)
  objFile.Write "" & WierszHTML
  objFile.Close
  Set objFile = Nothing
 Else
  ZaznaczonaWiadomosc.SaveAs NazwaPliku, olHTML
 End If
 Shell Przegladarka & " " & NazwaPliku, vbNormalFocus

 Set FSO = Nothing
 Set NazwaPliku = Nothing
 Set Zaznaczono = Nothing
 Set ZaznaczonaWiadomosc = Nothing
End Sub

Aby czerpać większą korzyść z pow kodu, można przypisać procedurę do przycisku osadzonego w menu programu Outlook. Sposób ten opisany jest w osobnym artykule.

Rozwiązanie te zostało zapożyczone i w części nie jest moim pomysłem.

 

(c) Shon Oskar – www.VBATools.pl

Wszelkie prawa zastrzeżone. Żadna część ani całość tego artykułu nie może być powielana ani publikowana bez zgody autora.
:, , ,

Leave a Reply