
Jak wyświetlić animowaną treść w wiadomości email
tagi: przeglądarka, wyświetlić, Outlook, 2007, 2010, GIF, obrazek, animowany, animacja, podgląd
0 komenarze | Dodaj komentarz
W wersji 2007 oraz 2010 programu Microsoft Outlook producent zrezygnował z możliwości wyświetlania animowanych plików GIF w treści wiadomości - ze względu na możliwość ataków związanych z osadzeniem złośliwego kodu w tego typu plikach. Jeśli nadawca wiadomości znajduje się na naszej liście zaufanych odbiorców, obrazek GIF w wiadomości będzie wyświetlony bez animacji (tylko pierwsza klatka).
Aby wyświetlić podgląd wiadomości z animowanym elementem - podobnie jak we wcześniejszych wersjach MS Outlook - należy wywołać poniższą procedurę przekazania wiadomości do przeglądarki internetowej.
Kod formy:
Sub Otwieraj_w_Przegladarce()
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
Dim Przegladarka$: 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
Aby używanie powyższego kodu było jeszcze wygodniejsze, można dodatkowo przypisać wywoływaną nim procedurę do przycisku osadzonego w menu programu Outlook.
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.
