В тази публикация искаме да ви покажем бързия начин да намерите всички параграфи от едно изречение във вашия 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
- В отворения прозорец „Преглед“ изберете папката, в която съхранявате документи, и щракнете върху „OK“.
След това макросът ще подчертае всички абзаци с едно изречение и ще остави документите отворени. Ако документът не съдържа абзац с едно изречение, той ще бъде затворен. Освен това има поле за съобщение, указващо броя на абзаците с едно изречение във всеки документ.
Справете се с инцидент със загуба на данни
Потребителските грешки и внезапното прекъсване на електрозахранването могат да доведат до смъртта на Word. Докато сгънатата Word може не само да повлияе на ежедневната работа, но и да доведе до док щетиТова в никакъв случай не е най-дразнещата част от една катастрофа с данни. По-добре е да се обърнете към програма за възстановяване, която да възстанови данните незабавно.
Въведение на автора:
Вера Чен е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително възстанови Excel и pdf ремонт на софтуерни продукти. За повече информация посетете WWW.datanumen.com




