Дэвид — учитель, который назначает своим ученикам серию из примерно двадцати слов и фраз, которые они должны использовать в сочинении. Каждое слово или фразу нужно использовать хотя бы один раз. Учащиеся получают один балл за каждый раз, когда они используют одно из слов или словосочетаний, за дублирование ничего лишнего. Дэвид ищет простой способ отметить свою работу, возможно, с помощью макроса, который ищет каждое слово и фразу и создает своего рода запись об их использовании. Дэйв желает, чтобы Word выполнял поиск и подсчет, чтобы сосредоточить свою энергию на оценке качества композиции.

Если вы хотите вручную выяснить, сколько раз встречается определенное слово или фраза, вы можете использовать функцию поиска Word. Если вы используете Word 2007, выполните следующие действия:

  1. Нажмите Ctrl + F. Word отображает вкладку «Найти» диалогового окна «Найти и заменить».

  2. В поле «Найти» введите слово или фразу, которую хотите найти.

  3. Нажмите кнопку «Еще», если она доступна.

  4. Если вы ищете одно слово, установите флажок «Искать только слова целиком».

  5. Установите флажок «Выделить все найденные элементы».

  6. Щелкните «Найти все».

Word показывает в диалоговом окне, сколько вхождений вашего слова или фразы встречается в нем. Вы можете найти нужные числа еще быстрее, если используете Word 2010 или Word 2013:

  1. Нажмите Ctrl + F. Word отображает область задач навигации в левой части экрана. На панели выбрана вкладка Обзор.

  2. Если вы ищете одно слово, щелкните стрелку вниз справа от небольшой кнопки с увеличительным стеклом и выберите «Параметры». В диалоговом окне «Параметры» выберите «Найти только слова целиком».

  3. В поле вверху области навигации введите слово или фразу, которую вы хотите найти, и нажмите Enter.

В верхней части области задач «Навигация» Word показывает, сколько вхождений слова или фразы оно находится.

Эти техники, хотя и удобны, теряют часть своего очарования, если вам нужно повторить их для двадцати слов и фраз в тридцати пяти различных сочинениях учащихся. Действительно, макрос — более практичный подход.

Было бы очень удобно, если бы количество вхождений, отображаемое в диалоговом окне «Найти и заменить», было доступно через VBA. Насколько мне удалось определить, это значение недоступно. Это означает, что вы должны полагаться на многократный поиск и подсчет в самом макросе. Хороший пример того, как это можно сделать, можно найти в базе знаний Microsoft:

http://support.microsoft.com/?kbid=240157

На странице указано, что код предназначен для Word 2000, но он будет нормально работать с Word 2007 и Word 2010. Код на этой странице можно относительно легко изменить, чтобы найти серию слов или фраз и отобразить все результаты. сразу. Другой довольно уникальный подход состоит в том, чтобы изменить предположения о сочинениях учащихся: предположить, что они используют каждое из слов или фраз (они начинаются с 20 баллов, если есть двадцать слов и фраз), и вычитают баллы только в том случае, если они не используют один из них.

Sub ScoreCard()

Dim iScore As Integer     Dim iTopScore As Integer     Dim WordList As Variant     Dim i As Integer     Dim sUnused As String

' Enter the words or phrases in the array below;     ' each word or phrase in quotation marks and     ' separated by commas     WordList = Array("Mr.", "jelly", "wince", _       "proper", "fix", "compound", "high and dry")



' Counts the number of words in the array     iTopScore = CInt(UBound(WordList)) + 1     iScore = iTopScore

' Counts the number of "misses"

sUnused = ""

For i = 1 To iTopScore         With Selection.Find             .Forward = True             .Wrap = wdFindContinue             .Format = False             .MatchCase = False             .MatchAllWordForms = False             .MatchWholeWord = True             .Execute FindText:=WordList(i - 1)

End With         If Selection.Find.Found = False Then            iScore = iScore - 1            sUnused = sUnused & vbCrLf & WordList(i - 1)

End If     Next i

' Displays the score     If iScore = iTopScore Then         sUnused = "All words and phrases were used."

Else         sUnused = "The following words and phrases" & _           " were not used:" & sUnused     End If     sUnused = vbCrLf & vbCrLf & sUnused     MsgBox Prompt:="The score is " & iScore & _       " of " & iTopScore & sUnused, Title:="What's the Score?"

End Sub

Макрос отображает оценку композиции, а также отображает любые слова или фразы, которые не использовались в композиции.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (9261) относится к Microsoft Word 2007, 2010 и 2013.

Вы можете найти версию этого совета для старого интерфейса меню Word здесь:

link: / word-Checking_for_Words_and_Phrases [Проверка слов и фраз].