1

Тема: Автоматическая замена цифр на надстрочный индекс

Например имеется такой вариант: Стаття 4-12. Нужно заменить в выделенном фрагменте текста -12 на 12 в надстрочном индексе, как это прописать в макросе?

2

Re: Автоматическая замена цифр на надстрочный индекс

Прям нашествие сегодня с такими задачами smile Можно без макроса. Вызовите окно поиска и замены (Ctrl+H)
Шаг первый:
Найти: (Стаття [0-9]@)(-)([0-9]@>)
Заменить на: \1@#$%\3
Подстановочные знаки включены, без форматирования (кнопка "Снять форматирование")
Заменить всё.
Шаг второй:
Найти: (@#$%)([0-9]@>)
Заменить на: \2
Для замены задать в формате шрифта "Надстрочные"
Заменить всё.

Лучше день потерять — потом за пять минут долететь!

3

Re: Автоматическая замена цифр на надстрочный индекс

Большое спасибо! Немного сделал по другому, так как слово "стаття" не всегда встречается, записал макрос и вуаля работает!
Не ожидал на столь быстрый ответ, и все же сайт чудесный еще раз большое спасибо!!! smile

4

Re: Автоматическая замена цифр на надстрочный индекс

Roman пишет:

слово "стаття"

Простите, а что это за слово? Может быть, вы имели в виду слово Статья?

5

Re: Автоматическая замена цифр на надстрочный индекс

Антон, стаття — это статья по-украински:)

Лучше день потерять — потом за пять минут долететь!

6

Re: Автоматическая замена цифр на надстрочный индекс

Понял. Прошу прощения  smile

7

Re: Автоматическая замена цифр на надстрочный индекс

Немного сделал по другому, так как слово "стаття" не всегда встречается, записал макрос и вуаля работает!

Roman, а на макрос посмотреть можно?

Отредактировано benoni (03.04.2010 10:23:58)

8

Re: Автоматическая замена цифр на надстрочный индекс

Да конечно можно но он только ищет данные случаи а не меняет, потому как в тексте может стоять просто дефис между цифрами, и макрос заменит то что нам не надо...

Вот и сам макрос:

Sub prim()
'
' prim Макрос
'
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "(-)([0-9]@>)"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute
End Sub

Модератор: пользуйтесь тегом [сode] для оформления кода макроса!