Как быстро найти абзацы из одного предложения в документе Word

Поделись сейчас:

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

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

Сегодня мы предложим вам быстрый способ указать в документе все абзацы, состоящие из одного предложения.Найдите абзацы из одного предложения в документе Word

Найти все абзацы из одного предложения в одном документе

  1. Во-первых, Word считает точку как предложение. Поэтому, если есть такие слова, как «господин». или «мисс», Word считает это предложением. Чтобы исключить такое отвлечение, нужно заменить «Mr.» с «господин». И когда закончите поиск абзаца одного предложения, вы можете вернуть их обратно. Чтобы заменить слова, вы можете обратиться по этой ссылке: Как найти и заменить несколько элементов в документе Word
  2. Во-вторых, нажмите «Alt + F11», чтобы вызвать редактор VBA.
  3. Затем нажмите «Обычный» проект.
  4. Нажмите вкладку «Вставка» в строке меню и выберите «Модуль» в раскрывающемся меню.Нажмите «Обычный» -> нажмите «Вставить» -> нажмите «Модуль».
  5. Затем дважды щелкните модуль, чтобы открыть его.
  6. Вставьте следующие коды в модуль:
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
  1. И последнее, но не менее важное: нажмите кнопку «Выполнить» или нажмите «F5».Вставьте макрос-> нажмите «Выполнить».

Вы получите такое окно сообщения, в котором говорится, что работа выполнена.Выделите абзацы из одного предложения

Найти все абзацы из одного предложения в нескольких документах

  1. Для начала необходимо поместить все целевые документы в папку.
  2. Затем установите и запустите следующий макрос:
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
  1. В открывшемся окне «Обзор» выберите папку, в которой вы храните документы, и нажмите «ОК».Выберите папку-> нажмите «ОК»

Затем макрос выделит все абзацы, состоящие из одного предложения, и оставит документы открытыми. Если документ не содержит абзаца из одного предложения, он будет закрыт. Кроме того, есть окно сообщения, указывающее количество абзацев, состоящих из одного предложения, в каждом документе.Сообщение о результате

Устранение инцидента с потерей данных

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

Об авторе:

Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить Excel и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.