Microsoft Outlook troubleshooting

W wersji 2007 oraz 2010 programu Microsoft Outlook producent, ze względu na możliwość ataków związanych z osadzeniem złośliwego kodu w tego typu plikach, zrezygnował z możliwości wyświetlania animowanych plików GIF w treści wiadomości. 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, podobnie jak we wcześniejszych wersjach MS Outlook, wyświetlić podgląd wiadomości z animowanym elementem 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 Sub

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.

MVP Shon Oskar – VBATools.pl
Jeśli masz pytania dot. tego artykułu zapraszam na Forum
Skonfiguruj swój pakiet dodatków do Excela, Worda, PowerPointa i Outlooka



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

Komentarze

Komentarze
Jurek Sobota
Jurek Sobota 2014-10-16 09:50:38
Mam podobny problem i nie wiem jak go rozwiązać. Gdy wkładam gifa do outlooka nie animuje się. Tego kodu tez nie wiem jak użyć gdzie go mam wrzucić aby to wszystko zadziałało. Kompletnie nie wiem jak to zrobić. Proszę o pomoc. Z góry serdecznie dziękuje. Jurek
Oskar Shon
Oskar Shon, VBATools.pl 2015-03-24 12:51:08
Jurek, przeczytaj pierwszy wers tej porady, ponieważ on wszystko wyjaśnia. Jeśli chcesz o tym podyskutować zapraszam na forum.