Вот пример VBA макроса для MS Word согласно вашим указаниям:
```vba
Sub SpellCheck_OFF()
Dim rng As Range
Dim oWord As Range
Dim CountActions As Long
CountActions = 0
If Selection.Type = wdSelectionIP Then
Set rng = Selection.Words(1)
Else
Set rng = Selection.Range
End If
Application.ScreenUpdating = False ' Отключаем обновление экрана для ускорения обработки
For Each oWord In rng.Words
If oWord.SpellingErrors.Count > 0 Then
oWord.NoProofing = True
CountActions = CountActions + 1
' Проверяем предыдущий символ
If Not oWord.Previous Is Nothing Then
If Not oWord.Previous.Text = " " Then
oWord.Previous.NoProofing = True
CountActions = CountActions + 1
End If
End If
' Проверяем следующий символ
If Not oWord.Next Is Nothing Then
If Not oWord.Next.Text = " " Then
oWord.Next.NoProofing = True
CountActions = CountActions + 1
End If
End If
End If
Next oWord
Application.ScreenUpdating = True ' Включаем обновление экрана
' Вывод количества произведённых действий
MsgBox CountActions & " actions were performed.", vbInformation, "SpellCheck OFF"
End Sub
```
Чтобы использовать макрос:
1. Откройте MS Word.
2. Нажмите `Alt + F11` чтобы открыть редактор VBA.
3. В меню редактора VBA выберите `Insert` > `Module` для создания нового модуля.
4. Скопируйте и вставьте приведенный выше код в окно модуля.
5. Закройте редактор VBA и вернитесь к документу Word.
6. Выделите нужный фрагмент текста или установите курсор на слово.
7. Запустите макрос `SpellCheck_OFF` через меню инструментов макросов в Word.
По завершении макрос покажет всплывающее окно с информацией о количестве произведенных изменений.
Обратите внимание, что выполнение макросов может изменить содержимое вашего документа. Всегда сохраняйте копию вашего документа перед запуском макросов.
```vba
Sub SpellCheck_OFF()
Dim rng As Range
Dim oWord As Range
Dim CountActions As Long
CountActions = 0
If Selection.Type = wdSelectionIP Then
Set rng = Selection.Words(1)
Else
Set rng = Selection.Range
End If
Application.ScreenUpdating = False ' Отключаем обновление экрана для ускорения обработки
For Each oWord In rng.Words
If oWord.SpellingErrors.Count > 0 Then
oWord.NoProofing = True
CountActions = CountActions + 1
' Проверяем предыдущий символ
If Not oWord.Previous Is Nothing Then
If Not oWord.Previous.Text = " " Then
oWord.Previous.NoProofing = True
CountActions = CountActions + 1
End If
End If
' Проверяем следующий символ
If Not oWord.Next Is Nothing Then
If Not oWord.Next.Text = " " Then
oWord.Next.NoProofing = True
CountActions = CountActions + 1
End If
End If
End If
Next oWord
Application.ScreenUpdating = True ' Включаем обновление экрана
' Вывод количества произведённых действий
MsgBox CountActions & " actions were performed.", vbInformation, "SpellCheck OFF"
End Sub
```
Чтобы использовать макрос:
1. Откройте MS Word.
2. Нажмите `Alt + F11` чтобы открыть редактор VBA.
3. В меню редактора VBA выберите `Insert` > `Module` для создания нового модуля.
4. Скопируйте и вставьте приведенный выше код в окно модуля.
5. Закройте редактор VBA и вернитесь к документу Word.
6. Выделите нужный фрагмент текста или установите курсор на слово.
7. Запустите макрос `SpellCheck_OFF` через меню инструментов макросов в Word.
По завершении макрос покажет всплывающее окно с информацией о количестве произведенных изменений.
Обратите внимание, что выполнение макросов может изменить содержимое вашего документа. Всегда сохраняйте копию вашего документа перед запуском макросов.