В этой статье мы хотим показать вам быстрый способ найти все абзацы, состоящие из одного предложения, в вашем документе Word с помощью VBA.
Время от времени у некоторых документов могут быть очень специфические требования к их форматированию и структуре. Например, вам может быть запрещено иметь абзацы только с одним предложением. Эти абзацы нетрудно распознать, но это требует времени, особенно если это длинный документ.
Сегодня мы предложим вам быстрый способ указать в документе все абзацы, состоящие из одного предложения.
Найти все абзацы из одного предложения в одном документе
- Во-первых, Word считает точку как предложение. Поэтому, если есть такие слова, как «господин». или «мисс», Word считает это предложением. Чтобы исключить такое отвлечение, нужно заменить «Mr.» с «господин». И когда закончите поиск абзаца одного предложения, вы можете вернуть их обратно. Чтобы заменить слова, вы можете обратиться по этой ссылке: Как найти и заменить несколько элементов в документе Word
- Во-вторых, нажмите «Alt + F11», чтобы вызвать редактор VBA.
- Затем нажмите «Обычный» проект.
- Нажмите вкладку «Вставка» в строке меню и выберите «Модуль» в раскрывающемся меню.
- Затем дважды щелкните модуль, чтобы открыть его.
- Вставьте следующие коды в модуль:
Sub HighlightParagraphsWithSingleSentence()
Dim nParagraphNum As Integer
Dim nCountParagraph As Integer
Dim objParagraphRange As Range
Dim nCountSentence As Integer
Dim nHighlightNum As Integer
nCountParagraph = ActiveDocument.Paragraphs.Count
nHighlightNum = 0
For nParagraphNum = 1 To nCountParagraph
Set objParagraphRange = ActiveDocument.Paragraphs(nParagraphNum).Range
nCountSentence = objParagraphRange.Sentences.Count
' Highlight all paragraphs with single-sentence.
If nCountSentence = 1 And objParagraphRange.Characters.Count > 1 Then
nHighlightNum = nHighlightNum + 1
objParagraphRange.HighlightColorIndex = wdYellow
End If
Next
If nHighlightNum > 0 Then
MsgBox ("There are " & nHighlightNum & " paragraphs with single sentence and they are highlighted.")
Else
MsgBox ("There are no paragraphs with single sentence")
End If
End Sub
- И последнее, но не менее важное: нажмите кнопку «Выполнить» или нажмите «F5».
Вы получите такое окно сообщения, в котором говорится, что работа выполнена.
Найти все абзацы из одного предложения в нескольких документах
- Для начала необходимо поместить все целевые документы в папку.
- Затем установите и запустите следующий макрос:
Sub HighlightParagraphsWithSingleSentenceInMultipleFiles()
Dim nParagraphNum As Integer
Dim nCountParagraph As Integer
Dim objParagraphRange As Range
Dim nCountSentence As Integer
Dim StrFolder As String
Dim strFile As String
Dim objDoc As Document
Dim dlgFile As FileDialog
Dim nHighlightNum As Integer
Dim strSummary As String
Set dlgFile = Application.FileDialog(msoFileDialogFolderPicker)
With dlgFile
If .Show = -1 Then
StrFolder = .SelectedItems(1) & "\"
Else
MsgBox ("No Folder is selected!")
Exit Sub
End If
End With
strFile = Dir(StrFolder & "*.doc*", vbNormal)
While strFile <> ""
nHighlightNum = 0
Set objDoc = Documents.Open(FileName:=StrFolder & strFile)
Set objDoc = ActiveDocument
nCountParagraph = ActiveDocument.Paragraphs.Count
For nParagraphNum = 1 To nCountParagraph
Set objParagraphRange = ActiveDocument.Paragraphs(nParagraphNum).Range
nCountSentence = objParagraphRange.Sentences.Count
' Highlight all paragraphs with single-sentence.
If nCountSentence = 1 And objParagraphRange.Characters.Count > 1 Then
nHighlightNum = nHighlightNum + 1
objParagraphRange.HighlightColorIndex = wdYellow
End If
Next
objDoc.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
objDoc.Save
If nHighlightNum = 0 Then
objDoc.Close
End If
strSummary = strSummary & strFile & " : " & nHighlightNum & " paragraphs with single sentence." & vbCrLf
strFile = Dir()
Wend
MsgBox (strSummary)
End Sub
- В открывшемся окне «Обзор» выберите папку, в которой вы храните документы, и нажмите «ОК».
Затем макрос выделит все абзацы, состоящие из одного предложения, и оставит документы открытыми. Если документ не содержит абзаца из одного предложения, он будет закрыт. Кроме того, есть окно сообщения, указывающее количество абзацев, состоящих из одного предложения, в каждом документе.
Устранение инцидента с потерей данных
Ошибки пользователя и внезапное отключение питания могут привести к прекращению работы Word. В то время как свернутый Word может не только повлиять на повседневную работу, но и привести к документ поврежденияЭто отнюдь не самая неприятная часть катастрофы с данными. Лучше сразу же воспользоваться программой для восстановления данных.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить Excel и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com




