c0rp
@c0rp
Разработчик

Конвертирование старого текста?

Всем доброго времени суток!

Начну издалека. Мой дед профессор, пишет книги в MS Word на Win 98. Компьютер старый, казахский шрифт, которым он пользуется, тоже. В то время никто не знал что такое Unicode, развелось много казахских шрифтов с блэкджеком и т.д. Дед попросил меня перенести все книги на новый компьютер, т.к. на старом закончилось место, но там они открываются с кракозябрами. Хотелось бы конвертировать все его книги в новый Times New Roman, чтобы можно было легко их опубликовать в будущем. Можно было бы это сделать при помощи Ctrl + H.


Помогите написать макрос (для Office 2007 если это важно) который смог бы это сделать. Вот сслыка на папку где лежат те самые старые казахские шрифты и небольшой кусок одной из книг.

Задавал аналогичный вопрос на stackoverflow, возможно ответ, который мне дали, наведет кого-то на правильные мысли.
  • Вопрос задан
  • 3693 просмотра
Решения вопроса 1
c0rp
@c0rp Автор вопроса
Разработчик
Рабочий вариант

Sub Zamena()
'
' Zamena Макрос
'
'
Dim sTab As String
    sTab = "ӘҒҚҢӨҰҮҺәғқңөұүһАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"
    Selection.Find.ClearFormatting
    Selection.Find.Font.Shadow = True
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Font.Shadow = False
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = True
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    Selection.Find.Font.Shadow = False
    Selection.Find.Replacement.Font.Shadow = True
    For i = 1 To Len(sTab)
        With Selection.Find
            .Text = ChrW(i + 175)
            .Replacement.Text = Mid(sTab, i, 1)
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = True
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.Text = Selection.Find.Text
    Next i
    Selection.Find.Execute Replace:=wdReplaceAll
        With Selection.Find
            .Text = ChrW(105)
            .Replacement.Text = "і"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = True
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.Text = Selection.Find.Text
        
        With Selection.Find
            .Text = ChrW(73)
            .Replacement.Text = "І"
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = True
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.Text = Selection.Find.Text
        
    ' kazakh language
    Selection.WholeStory
    Selection.LanguageID = WdLanguageID.wdKazakh
    Application.CheckLanguage = False
    Selection.Collapse Direction:=wdCollapseStart
End Sub
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ipswitch
@ipswitch
IT-инженер
Можно установить на старый компьютер Adobe Acrobat 4.0 или 5.0, конвертировать всё в PDF. Сохранность будет «на века», и никаких проблем со шрифтами.
а новые книги писать уже иначе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 50 000 до 150 000 руб.
ГК "ЦИФРА" Иваново
До 90 000 руб.
Hotger Ростов-на-Дону
от 60 000 до 100 000 руб.
24 февр. 2019, в 08:31
100 руб./за проект
24 февр. 2019, в 00:36
5000 руб./за проект
23 февр. 2019, в 23:19
800 руб./за проект