У меня есть документ Word длиной около 100 страниц. В нем много слов, которые подчеркнуты.
Однако, когда я выбираю слово, значок форматирования подчеркивания не подсвечивается и не подсвечивается, показывая, что он подчеркнут. Странный.
Итак, я проверил в ближайшем окне ?Selection.Font.Underline
и вернул 9999999
. Слова, у которых горит значок подчеркивания, возвращают 1
.
Как я могу быстро изменить все стили подчеркивания с 9999999
на 1
?
Я пробовал Найти / Заменить с "Подчеркнуть" и заменить на "Подчеркнуть", но пока он успешно нашел 999999
и 1
, замена ничего не сделала.
Я даже макрокомментировал это и сделал Selection.Find.Replacement.Font.Underline = 1
безрезультатно.
В настоящее время я перебираю каждый абзац, если абзац para.Range.Font.Underline = 999999
- Истина, затем переберите каждый символ и, где символ 999999
, сделайте это 1
.
Итак, мой вопрос, как я могу сделать это правильно / быстрее? Кроме того, что вызывает 9999999
в первую очередь?
редактировать: вот текущий код у меня есть
Sub fixUline()
Dim doc As Document
Set doc = ActiveDocument
Application.ScreenUpdating = False
Dim para As Paragraph
For Each para In ActiveDocument.Paragraphs
If para.Range.Font.Underline = 9999999 Then
' para.Range.Select
For i = 1 To para.Range.Characters.Count
If para.Range.Characters(i).Font.Underline = 9999999 Then
' para.Range.Characters(i).Select
para.Range.Characters(i).Font.Underline = 1
End If
Next
End If ' ...Underline = 99999
Application.ScreenUpdating = True
Next para
MsgBox ("Done!")
End Sub
редактирование: я также нашел это обсуждение, но выполнение указанного макроса приводит к ошибке компиляции типа в строке For Each oChr In ActiveDocument.Paragraphs(para)
Редактировать: вот два скриншота. Первое - подчеркнутое слово, но обратите внимание, что Word, кажется, так не считает:
и второе также подчеркнуто, но Word показывает выбранное подчеркивание: