Microsoft Outlook troubleshooting

Artykuł dotyczy: Microsoft Outlook 2007/ 2003 / 2002 / 2000

Wiele z przeglądarek, jak i klient poczty ThunderBird, eksportując wizytówkę kontaktu w formacie VCard zapisuje plik używając kodowania UTF-8.

Outlook nie wykonuje automatycznej konwersji znaków (polskie znaki) i podczas otwarcia pliku VCF wyświetla przysłowiowe „krzaki”.

Wizytówka z Thunderbirda w Outlooku

Dostępny jest programik konwertujący stronę kodową, dzięki któremu można będzie wybrać plik VCF i zamienić go na poprawną dla Outlooka wizytówkę.

Zamiana kodowania

Aplikacja ta opcjonalnie może utworzyć nową wizytówkę, zamiast zamienić wskazaną (w przypadku, gdyby komuś była potrzebna).

Wizytówka po konwersji

Darmowy program można pobrać zgodnie z tym linkiem.

Alternatywą jest użycie kodu, który zamieni nam wszystkie źle wprowadzone do Outlooka kontakty.

Option Explicit
Sub Popraw_polskie_litery_po_UTF()
'Poprawa kontaktów po imporcie wizytówek z programu Thunderbird
Dim oApptFolder As MAPIFolder
Dim item As ContactItem
Dim x&, y&, z&
    Set oApptFolder = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
    For x = 1 To oApptFolder.Items.Count
        If oApptFolder.Items(x).Class = 40 Then
        Set item = oApptFolder.Items(x)
            If Not item Is Nothing Then
            DoEvents
                If item.FullName <> zamien_znaki_EA(item.FullName) Then
                    item.FirstName = zamien_znaki_EA(item.FirstName)
                    item.LastName = zamien_znaki_EA(item.LastName)
                    item.CompanyName = zamien_znaki_EA(item.CompanyName)
                    item.Body = zamien_znaki_EA(item.Body)
                    item.Department = zamien_znaki_EA(item.Department)
                    item.FileAs = zamien_znaki_EA(item.FileAs)
                    item.Save
                     z = z + 1
                End If
            y = y + 1
            End If
        End If
    Next
            MsgBox "System sprawdził obiektów: " & x - 1 & ", z czego znalezione: " & y & " to kontakty." & vbCr _
                & "Poprawiono wizytówki z literami UTF w liczbie " & z & ".", vbInformation, "Nadpisanie niepoprawnych nazw dla kontaktów."
    Set oApptFolder = Nothing
    Set item = Nothing
End Sub
Function zamien_znaki_EA(ByVal tekst As String)
        tekst = Replace$(tekst, "Ä„", "Ą")
        tekst = Replace$(tekst, "Ć", "Ć")
        tekst = Replace$(tekst, "Ä", "Ę˜") '!
        tekst = Replace$(tekst, "Ĺ", "Ł")
        tekst = Replace$(tekst, "Ĺ", "Ń") '!
        tekst = Replace$(tekst, "Ă“", "Ó")
        tekst = Replace$(tekst, "Ĺš", "Ś")
        tekst = Replace$(tekst, "Ĺą", "Ż")
        tekst = Replace$(tekst, "Ĺ»", "Ź")

        tekst = Replace$(tekst, "Ä…", "ą")
        tekst = Replace$(tekst, "ć", "ć")
        tekst = Replace$(tekst, "Ä™", "ę")
        tekst = Replace$(tekst, "Ĺ,", "ł")
        tekst = Replace$(tekst, "Ĺ„", "ń")
        tekst = Replace$(tekst, "Ăł", "ó")
        tekst = Replace$(tekst, "Ĺ›", "ś")
        tekst = Replace$(tekst, "Ĺş", "ż")
        tekst = Replace$(tekst, "ĹĽ", "ź")

        zamien_znaki_EA = tekst
    End Function

Aby osadzić procedurę Popraw_polskie_litery_po_UTF pod przyciskiem w menu MS Outlook, polecam uwadze artykuł o instalacji i uruchamianiu makr.

Po zapisaniu kontaktu w Outlooku brak jest możliwości zmiany liter „Ę” i „Ń” (dotyczy to tylko osób, których nazwa firmy lub nazwisko będzie posiadać wielkie litery). Powyżej przedstawiony program Zamiana kodowania z UTF na W1250 jest pozbawiony tej uniedogodności.

Postępowanie krokowe w makro:

  • w domyślnym folderze kontaktów sprawdzenie czy obiekt jest kontaktem
  • zamiana pól: „Nazwa wyświetlana”, „Nazwisko”, „Imię”, Firma”, etc.

 

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.