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.