...
Dim ns$, ss$
Dim m As Message
...
m.strBody = Nz(rst![Email_sod], "")
Debug.Print "Before: ", m.strBody
ss = m.strBody
ns = ChangeTextCharset(ss, "UTF-8", "Windows-1251")
m.strBody = ns
Debug.Print "After: ", m.strBody
...
Function ChangeTextCharset(ByVal txt$, ByVal DestCharset$, _
Optional ByVal SourceCharset$) As String
' функция перекодировки (смены кодировки) текстовоq строки
' В качестве параметров функция получает текстовую строку txt$,
' и название кодировки DestCharset$ (в которую будет переведён текст)
' Функция возвращает текст в новой кодировке
On Error Resume Next: Err.Clear
With CreateObject("ADODB.Stream")
.Type = 2: .Mode = 3
If Len(SourceCharset$) Then .Charset = SourceCharset$ ' указываем исходную кодировку
.Open
.WriteText txt$
.Position = 0
.Charset = DestCharset$ ' назначаем новую кодировку
ChangeTextCharset = .ReadText
.Close
End With
End Function
=============
В окне debug видим
Before: Уважаемый
Иван Иваныч!
After:
!
|