перекодировать текст

Версия программы: 
13.0.0.576

в некоторых файлах CDR непонятная кодировка...

например: Kaqsa ihovqon po osqaga$zfmt doqihonst
должно быть: Карта изохрон по отражающему горизонту

вручную составил (не до конца) таблицу для "перекодировки":
(там, где в верхней строке 9 -- не понятно пока... буквы такие не попадались...)

abcdef9ghijklmnopqrstuvwxyz9|}9$%ABCDEF9GHIJKLMNOPQRSTUVWXYZ999999
абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

нужен макрос...
для выделенного текстового объекта поменять символы в соответствии с таблицей...

помогите, пожалуйста... спасибо...

вот вам простенький макрос для этого. Выберите текстовый объект и активируйте макрос. Таблицы в теле макроса можно дополнять и изменять, главное, чтобы они обе содержали одинаковое количество символов.

Sub TextCharSet()
Dim s As Shape, sl%, ts$, i%
Const sTable = "abcdef9ghijklmnopqrstuvwxyz9|}9$%ABCDEF9GHIJKLMNOPQRSTUVWXYZ999999"
Const oTable = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
    Set s = ActiveShape: If s Is Nothing Then MsgBox "Выберите текст!", vbCritical: Exit Sub
    ts = s.Text.Story.Text
    For sl = 1 To Len(ts)
        i = InStr(sTable, Mid(ts, sl, 1))
        If i > 0 Then Mid(ts, sl, 1) = Mid(oTable, i, 1)
    Next
    s.Text.Story.Text = ts
End Sub

спасибо... есть добрые умеющие люди... я знал... ;-)