Добрый день!
Подскажите пожалуйста, как убрать такое нестандартное выделение текста. Не хочется использовать команду Очистить формат, уж больно много потом переделывать. Пример прикрепил.
[вложение удалено администратором]
Перед тем, как убирать заливку, выделите весь абзац кроме знака абзаца. А затем убирайте заливку.
Это связано с тем, что заливка применена не ко всему абзацу, а пользователь выделял фрагменты абзаца и их заливал.
Класс! Огромное спасибо!
А можно ли это как-то автоматизировать для всего текста, а то у меня таких фрагментов с полсотни наберется?
Есть такие варианты:
1) юзер выделяет фрагмент - макрос обрабатывает этот фрагмент;
2) макрос обрабатывает весь файл.
Какой у вас вариант?
А можно ли так: если есть выделенный фрагмент, то обработать его, а если нет - то обработать весь документ?
Макрос
Sub Макрос()
Dim rng As Range
'1. Присваивание нужному фрагменту имени "rng".
' Далее в коде можно будет обращаться к нужному фрагменту по этому имени.
' Если ничего не выделено, то нужно обработать весь файл.
If Selection.Type = wdSelectionIP Then
Set rng = ActiveDocument.Range
' Если что-то выделено.
Else
Set rng = Selection.Range
End If
'2. Удаление заливки в выделенных абзацах.
rng.Font.Shading.BackgroundPatternColor = wdColorAutomatic
'3. Сообщение, чтобы юзер понял, что макрос завершил работу.
MsgBox "Готово.", vbInformation
End Sub
Можно и вручную это сделать, без макроса:
выделите фрагмент, в котором нужно убрать заливку, - вкладка "Главная" - группа "Абзац" - стрелка кнопки "Границы" - появится выпадающий список - Границы и заливка... - вкладка "Заливка" - в правом нижнем углу "Применить к" - тексту - список "Заливка" - нет цвета - список "тип" - нет (нужно обязательно выбрать этот пункт, даже если там и так стоит "нет"; наверное брак в ворде) - OK.
Спасибо за макрос и объяснение! Макросом получается, кончено, намного быстрее. Но как бороться с такими заливками средствами Word узнал первый раз.