powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сохранить форматирование при замене?
5 сообщений из 5, страница 1 из 1
Как сохранить форматирование при замене?
    #36018988
Как сохранить форматирование при замене?

В общем, опять сражаюсь с Word VBA. Казалось бы, всё работает, все довольны, но приехали.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
     ActiveDocument.Select
     With Selection.Find
         .Text = OldWord
         .Replacement.Text = NewText
         .Forward = True
         .Wrap = wdFindContinue
         .Format = True
         .MatchCase = True
         .MatchWholeWord = True
         .MatchWildcards = False
         .MatchSoundsLike = False
         .MatchAllWordForms = False
         Selection.Find.Execute(Replace:=wdReplaceAll)
      End With

Если OldText был например с подстрочным индексом, например CO 2 , то после любой замены индекса нет, остаётся только NH2 к примеру.

Спасибо, но похоже идея работать со словами в моем предыдущем сообщении проваливается из-за этого. Ну бреееед.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
For Each rWord In ActiveDocument.Words
   
    s=rWord.Text
   'Что-то делаем
   
   rWord.Select
   'Что-то делаем
Next rWord

Потому что мне надо немного корректировать посимвольно слова с сохранением всех индексов, надстрочных или подстрочных.

Подскажите как быть? Менять посимвольно через Characters(i) с индексом и медленно и неудобно,
...
Рейтинг: 0 / 0
Как сохранить форматирование при замене?
    #36018995
Как сохранить форматирование при замене?

В общем, опять сражаюсь с Word VBA. Казалось бы, всё работает, все довольны, но приехали.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
     ActiveDocument.Select
     With Selection.Find
         .Text = OldWord
         .Replacement.Text = NewText
         .Forward = True
         .Wrap = wdFindContinue
         .Format = True
         .MatchCase = True
         .MatchWholeWord = True
         .MatchWildcards = False
         .MatchSoundsLike = False
         .MatchAllWordForms = False
         Selection.Find.Execute(Replace:=wdReplaceAll)
      End With

Если OldText был например с подстрочным индексом, например CO 2 , то после любой замены индекса нет, остаётся только NH2 к примеру.

Спасибо, но похоже идея работать со словами в моем предыдущем сообщении проваливается из-за этого. Ну бреееед.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
For Each rWord In ActiveDocument.Words
   
    s=rWord.Text
   'Что-то делаем
   
   rWord.Select
   'Что-то делаем
Next rWord

Потому что мне надо немного корректировать посимвольно слова с сохранением всех индексов, надстрочных или подстрочных.

Подскажите как быть? Менять посимвольно через Characters(i) с индексом и медленно и неудобно,
...
Рейтинг: 0 / 0
Как сохранить форматирование при замене?
    #36019061
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: СтаниславК
> Как сохранить форматирование при замене?

Интересный вопрос! поиск дал
эту статью, да и
сам сайт интереный.
Если ничего не получится, то я бы попробовал сделать коллекцию заменяемого текста, который имеет нестандартное
форматирование и обрабатывать это форматирование по другому


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как сохранить форматирование при замене?
    #36019077
Игорь Горбонос
Если ничего не получится, то я бы попробовал сделать коллекцию заменяемого текста, который имеет нестандартное
форматирование и обрабатывать это форматирование по другому


Сейчас попробую, хотя по любому это усложнение программы.
...
Рейтинг: 0 / 0
Как сохранить форматирование при замене?
    #36019103
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: СтаниславК
> по любому это усложнение программы.

К сожалению да, но если по другому не решается, то вариантов не много :(


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сохранить форматирование при замене?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]