Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2022, 19:58   #1
caute
Форумчанин
 
Регистрация: 27.10.2009
Сообщений: 277
По умолчанию починка макроса замены по всему тексту

Очень полезный макрос, но в нем таится один глюк: если подстрочная сноска начинается с курсивного слова, макрос превращает ВСЮ сноску в курсив. А если сноска начинается не с курсива, но курсивом написаны какие-то слова в сноске, то макрос ВСЮ сноску делает некурсивной. Не пойму, как с этим справиться. Помогите!
Возможно, нужно просто вставить команду "игнорировать формат текста"?
Вот, например (в самом низу три замены):
Код:
Sub frepl30(chto, chem)
Dim z1, z1k
z1 = chto
z1k = chem
Options.AutoFormatAsYouTypeReplaceQuotes = False
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting
 With Selection.Find
  .Text = z1
  .Replacement.Text = z1k
  .Forward = True
  .Wrap = wdFindContinue
  .MatchWildcards = False
 End With
 Selection.Find.Execute Replace:=wdReplaceAll
 ActiveWindow.ActivePane.VerticalPercentScrolled = 0
 Dim sn1 As Footnote, s1
 For Each sn1 In Word.ActiveDocument.Footnotes
 s1 = Replace(sn1.Range.Text, z1, z1k, , , vbTextCompare)
 sn1.Range.Text = s1
 Next sn1
 Dim sn2 As Endnote, s2
 For Each sn2 In Word.ActiveDocument.Endnotes
 s1 = Replace(sn2.Range.Text, z1, z1k, , , vbTextCompare)
 sn2.Range.Text = s1
 Next sn2
Options.AutoFormatAsYouTypeReplaceQuotes = True
End Sub
Sub том_страница()
 frepl30 ", т. ", ". Т." & Chr(160)
 frepl30 ", с. ", ". С." & Chr(160)
 frepl30 ", ч. ", ". Ч." & Chr(160)
End Sub

Последний раз редактировалось caute; 14.07.2022 в 13:32.
caute вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Починка "поиска" на форуме FluxBB Андрей Игнатьев Фриланс 3 18.02.2016 17:23
Макрос с выделением определенного известного слова и последующего за ним с копированием в txt по всему тексту viperm Microsoft Office Word 1 11.11.2015 17:21
Команда замены по всему тексту caute Microsoft Office Word 16 26.05.2013 15:12
Определить процент больших и маленьких букв ко всему тексту Kirra Паскаль, Turbo Pascal, PascalABC.NET 3 08.12.2011 05:46
Поиск файла по всему компьютеру!!!!! Flippp Общие вопросы C/C++ 17 05.08.2009 11:57