Я учитель и создаю макрос для поиска типичных ошибок в работах моих студентов. Например, я строю макрос, чтобы искать слово "прибыль". Если он найден, он смотрит на предыдущее слово. Если это предыдущее слово не является "действующим", "грубым" или "чистым", я возвращаю комментарий студенту.
У меня есть несколько таких вещей. Однако, когда я читаю документ и смотрю на слово до или после нужного слова, цифры запутывают меня. Например, я хочу посмотреть, используют ли учащиеся "и", когда используют "между" (они часто ошибочно используют между / к или между / через). Таким образом, у меня есть макрос, чтобы найти слово "между", а затем посмотреть на следующие 2 слова, чтобы увидеть, есть ли среди них "и". Если нет, он возвращает комментарий.
Моя проблема в том, что если есть что-то вроде: между 52 миллионами и 64 миллионами долларов ... тогда, если заглянуть вперед на 2 слова, вы не найдете "и", потому что 52 доллара не читаются как одно слово. Должен ли я использовать что-то кроме слов, чтобы сделать это? Или есть способ прочитать число как слово (или текст)?
Вот мой код:
Dim doc As Document
Set doc = ActiveDocument
Dim k As Integer
Dim j As Integer
For k = 1 To doc.Words.Count - 3
j = 0
If Trim(doc.Words(k)) = "between" Then
j = 1
End If
If Trim(doc.Words(k + 2)) = "and" Or Trim(doc.Words(k + 3)) = "and" Then
j = 0
End If
If j = 1 Then
ActiveDocument.Comments.Add range:=Selection.Document.Words(k), Text:="the word 'between' should be followed by 'and' such as: between $4 million and $6 million'."
End If
Next