Поиск текста без определенного шрифта (Microsoft Word)
Хилари отмечает, что большинство документов, которые использует их компания, стандартизированы на шрифте Times Roman. Однако время от времени кто-то редактирует документ и применяет другой шрифт к тексту, который в нем содержится. Она хотела бы легко найти эти «аномалии форматирования». Хилари задается вопросом, есть ли способ найти в документе текст, в котором не используется определенный шрифт.
Есть несколько способов найти то, что вам нужно, и, возможно, решить проблему. Во-первых, вы можете использовать функцию «Найти и заменить» следующим образом:
-
Нажмите Ctrl + F. Word отображает вкладку «Найти» диалогового окна «Найти и заменить».
-
Нажмите кнопку «Еще», если она доступна.
-
Убедитесь, что поле «Найти» пусто.
-
Щелкните Формат, а затем выберите Шрифт. Word отображает диалоговое окно «Найти шрифт». (См. Рис. 1.)
-
Используйте элементы управления в диалоговом окне, чтобы указать, что вы хотите найти шрифт Times Roman, который вы используете. (Просто выберите шрифт. Вам не нужно указывать другие настройки, если вы этого не хотите.)
-
Щелкните ОК. Спецификации шрифтов, которые вы ищете, отображаются сразу под полем «Найти».
-
Установите флажок Выделить все элементы.
-
Щелкните «Найти все».
На этом этапе диалоговое окно закрывается, и Word послушно выделяет все экземпляры Times Roman в вашем документе. Вы можете легко пролистать документ, чтобы увидеть, что не выделено — это те «аномалии», которые вы ищете.
Вы также можете использовать «Найти» и «Заменить», чтобы применить необычное форматирование к тексту, который не набран шрифтом Times Roman. Просто определите форматирование, которое вы не используете в документе, например, двойное подчеркивание или красный текст. Выделите весь документ (Ctrl + A) и примените это форматирование ко всему документу. Затем используйте команду «Найти и заменить», чтобы найти все экземпляры Times Roman (см. Шаги выше) и заменить их на Times Roman без выделенного форматирования, которое вы ранее применили. В итоге вы получаете только текст, который не является шрифтом Times Roman с выделенным форматированием.
При желании вы можете использовать макрос для изменения шрифта, используемого в документе. Ниже приводится небольшой небольшой макрос, который проверяет шрифт, используемый для каждого слова в вашем документе:
Sub FixFormatAnomalies() Dim aWord For Each aWord In ActiveDocument.Words If aWord.Font.Name <> "Times Roman" Then aWord.Font.Name = "Times Roman" End If Next aWord End Sub
Если шрифт, используемый для слова, не соответствует тому, что вы хотите, процедура изменяет шрифт. Единственное, что вам нужно сделать, чтобы макрос работал в вашем случае, — это изменить желаемое имя шрифта на двух строках.
(Вы захотите использовать имя шрифта точно так, как оно отображается в списке шрифтов, используемых Word. Обратите особое внимание на использование заглавных букв.)
Другой подход — просто проверить каждый символ в документе и выделить символ, если он не использует желаемый шрифт. Следующий макрос выделяет нежелательные символы желтым цветом:
Sub HighlightOtherFonts() Dim iCounter As Integer Dim sFontName As String Dim sPrompt As String Dim sTitle As String Dim sDefault As String Dim c As Range ' Gets the name of the font as typed by the user sPrompt = "Type the name of the font that is OK to " sPrompt = sPrompt & "have in the document." sTitle = "Acceptable Font Name" sDefault = ActiveDocument.Styles(wdStyleNormal).Font.Name sFontName = InputBox(sPrompt, sTitle, sDefault) ' Verifies that the name of the font is valid For Each sFont In Application.FontNames If UCase(sFontName) = UCase(sFont) Then ' Changes the user-typed name of the font to ' the version recognized by the application ' Example: 'times new roman' (user-typed) is ' changed to 'Times New Roman' (application version) sFontName = sFont Exit For Else ' Terminates the loop if the name of the font is invalid iCounter = iCounter + 1 If iCounter = FontNames.Count Then sPrompt = "The font name as typed does not match " sPrompt = sPrompt & "any fonts available to the " sPrompt = sPrompt & "application." sTitle = "Font Name Not Found" MsgBox sPrompt, vbOKOnly, sTitle Exit Sub End If End If Next sFont ' Checks each character in the document, highlighting ' if the character's font doesn't match the OK font For Each c In ActiveDocument.Characters If c.Font.Name <> sFontName Then ' Highlight the selected range of text in yellow c.FormattedText.HighlightColorIndex = wdYellow End If Next c End Sub
Одна из приятных особенностей этого макроса заключается в том, что он предлагает вам выбрать шрифт, который вы сочтете приемлемым. Затем он проверяет, соответствует ли введенное вами значение одному из шрифтов, доступных в системе. Поскольку макрос проверяет каждый символ в документе индивидуально, вам может потребоваться набраться терпения, пока он выполняется. Чем длиннее документ, тем больше времени требуется макросу для завершения своей работы.
Если вы просто хотите найти следующее вхождение изменения шрифта, тогда вам пригодится следующий очень короткий макрос:
Sub FindDifferentFont() Selection.SelectCurrentFont Selection.Collapse wdCollapseEnd End sub
Метод SelectCurrentFont расширяет текущий выбор до тех пор, пока не изменится шрифт (гарнитура) или размер шрифта. Поэтому, если вы начнете с начала документа и запустите макрос (возможно, вы могли бы назначить его сочетанию клавиш), то точка вставки перемещается туда, где заканчивается текущий шрифт, и начинается новый шрифт.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (11069) относится к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:
link: / wordribbon-Finding_Text_Not_Using_a_Particular_Font [Поиск текста, не использующего определенный шрифт]
.