Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Outlook 2002 и KOI8-R

20 views
Skip to first unread message

Igor Talashkevich

unread,
Jun 1, 2002, 7:31:34 AM6/1/02
to
Привет всем!
Господа, набросал на досуге макрос Outlook 2002 для просмотра "нечитаемых"
сообщений в KOI8-R. Не было под рукой таблицы кодов KOI8-R, поэтому есть
"пробелы". Кому не влом пришлите, или ещё лучше поправьте в исходнике

Sub koi8r()
'Igor Talashkevich 30.05.2002
Dim astr As String
Dim i As Long, l As Long, j As Integer
Dim sArr(256) As Integer

astr = ThisOutlookSession.ActiveExplorer.Selection.Item(1).Subject & ": " &
vbCrLf
astr = astr & ThisOutlookSession.ActiveExplorer.Selection.Item(1).Body
l = Len(astr)

sArr(192) = Asc("ю")
sArr(193) = 224: sArr(194) = Asc("б")
sArr(195) = 246: sArr(196) = 228: sArr(197) = 229
sArr(198) = 212: sArr(199) = 227: sArr(200) = 245
sArr(201) = 232: sArr(202) = 233: sArr(203) = 234
sArr(204) = 235: sArr(205) = 236: sArr(206) = 237
sArr(207) = 238: sArr(208) = 239: sArr(209) = 255
sArr(210) = 240: sArr(211) = 241: sArr(212) = 242
sArr(213) = 243
sArr(214) = 230
sArr(215) = 226
sArr(216) = 252
sArr(217) = 251
sArr(218) = Asc("з")
sArr(219) = Asc("ш")
sArr(220) = 253
sArr(221) = 249
sArr(222) = 247
sArr(225) = 192
sArr(228) = Asc("Д")
sArr(229) = Asc("Е")
sArr(230) = 212
sArr(231) = 195
sArr(233) = 200
sArr(234) = 201
sArr(235) = 202
sArr(237) = 204
sArr(238) = 205
sArr(239) = 206
sArr(240) = 207
sArr(242) = 208
sArr(243) = 209
sArr(245) = 211
sArr(247) = Asc("В")
sArr(250) = 199
sArr(252) = 221
sArr(254) = 215

For i = 1 To l
j = Asc(Mid(astr, i, 1))
If j > 127 Then
If sArr(j) = 0 Then
Debug.Print j, i, astr
Else
astr = Left(astr, i - 1) & Replace(astr, Chr(j), Chr(sArr(j)),
i, 1)
End If
End If

Next i

MsgBox astr

End Sub


--------------------
Игорь Талашкевич
t...@rnivc.kis.ru


Igor Talashkevich

unread,
Jun 1, 2002, 7:41:20 AM6/1/02
to

Paul Gorodyansky

unread,
Jun 3, 2002, 12:49:15 PM6/3/02
to
Igor Talashkevich wrote:
>
> Привет всем!
> Господа, набросал на досуге макрос Outlook 2002 для просмотра "нечитаемых"
> сообщений в KOI8-R. Не было под рукой таблицы кодов KOI8-R, поэтому есть
> "пробелы". Кому не влом пришлите, или ещё лучше поправьте в исходнике
>

Вот таблица кодов KOI8-R (на сайте автора этой кодировки):
http://koi8.pp.ru/font.html

Но я не знал, что Outlook 2002 имеет проблемы с KOI8-R - нельзя ли
подробнее? У меня под английской Windows, английский Outlook 2000
прекрасно работает с KOI8-R (кроме поля темы - оно работает, если
операционка - русская или русифицирована):

"Русский в Outlook 2000":
http://ourworld.compuserve.com/homepages/PaulGor/cyr_o2k.htm

--
С Уважением,
Павел Городянский
"Cyrillic (Russian): instructions for Windows and Internet":
http://ourworld.compuserve.com/homepages/PaulGor/

Alisher H. Abdurahmanov

unread,
Jun 4, 2002, 12:45:53 AM6/4/02
to
> Привет всем!
Привет, Игорь.

> Господа, набросал на досуге макрос Outlook 2002 для
> просмотра "нечитаемых" сообщений в KOI8-R.
> Не было под рукой таблицы кодов KOI8-R, поэтому есть
> "пробелы". Кому не влом пришлите, или ещё лучше
> поправьте в исходнике

> [...]

Гениально! =8-)
А чем не угодило расширение CyrTr (http://www.microsoft.ru/offext/i.asp)?
Гораздо умнее действует, как мне кажется, да и путей перекодировок больше
поддерживает. Кроме того, является расширением не только для Outlook, но и для
Exchange.


--
Virtually yours,
Alisher H. Abdurahmanov


Igor Talashkevich

unread,
Jun 4, 2002, 3:06:46 PM6/4/02
to
Доброе время суток, Alisher!

Спасибо за ссылку.


> А чем не угодило расширение CyrTr (http://www.microsoft.ru/offext/i.asp)?

Прежде чем говорить о том угодило или не угодило расширение CyrTr,
нужно как минимум его иметь. Скачал и попробовал
...
Теперь отгадай с трёх раз - откуда эти строки
AppName: outlook.exe AppVer: 10.0.2627.1 ModName: cyrtr.dll
ModVer: 1.0.0.0 Offset: 00001cbb

--
С уважением,
Игорь Талашкевич.
t...@rnivc.kis.ru

Igor Talashkevich

unread,
Jun 6, 2002, 5:17:48 AM6/6/02
to
Спасибо, Павел!

Поравил массив в макросе.
Кому надо - пользуйтесь.

-----------------------------


Sub koi8r()
'Igor Talashkevich 30.05.2002
Dim astr As String
Dim i As Long, l As Long, j As Integer
Dim sArr(256) As Integer

astr = ThisOutlookSession.ActiveExplorer.Selection.Item(1).Subject & ": " &
vbCrLf
astr = astr & ThisOutlookSession.ActiveExplorer.Selection.Item(1).Body
l = Len(astr)

' http://koi8.pp.ru/font.html
sArr(192) = 254: sArr(193) = 224: sArr(194) = 225


sArr(195) = 246: sArr(196) = 228: sArr(197) = 229
sArr(198) = 212: sArr(199) = 227: sArr(200) = 245
sArr(201) = 232: sArr(202) = 233: sArr(203) = 234
sArr(204) = 235: sArr(205) = 236: sArr(206) = 237
sArr(207) = 238: sArr(208) = 239: sArr(209) = 255
sArr(210) = 240: sArr(211) = 241: sArr(212) = 242
sArr(213) = 243: sArr(214) = 230: sArr(215) = 226

sArr(216) = 252: sArr(217) = 251: sArr(218) = 231
sArr(219) = 248: sArr(220) = 253
sArr(221) = 249: sArr(222) = 247: sArr(223) = 250
sArr(224) = 222: sArr(225) = 192: sArr(226) = 193
sArr(227) = 214: sArr(228) = 196
sArr(229) = 197: sArr(230) = 212: sArr(231) = 195
sArr(232) = 213: sArr(233) = 200: sArr(234) = 201
sArr(235) = 202: sArr(236) = 203: sArr(237) = 204


sArr(238) = 205: sArr(239) = 206: sArr(240) = 207

sArr(241) = 223: sArr(242) = 208: sArr(243) = 209
sArr(244) = 210: sArr(245) = 211: sArr(246) = 198
sArr(247) = 194: sArr(248) = 220: sArr(249) = 219
sArr(250) = 199: sArr(251) = 216: sArr(252) = 221
sArr(253) = 217: sArr(254) = 215: sArr(255) = 218

For i = 1 To l
j = Asc(Mid(astr, i, 1))

If j > 191 Then


astr = Left(astr, i - 1) & Replace(astr, Chr(j), Chr(sArr(j)), i, 1)
End If

Next i

MsgBox astr

End Sub

----------------
Игорь Талашкевич
t...@rnivc.kis.ru


"Paul Gorodyansky" <pau...@compuserve.com> сообщил/сообщила в новостях
следующее: news:3CFB9E0B...@compuserve.com...

0 new messages