この記事では、VBAを使ってWord文書内のすべての1文段落を素早く見つける方法をご紹介します。
時々、いくつかのドキュメントはそれらのフォーマットと構造に関して非常に特定の要件を持つことができます。 たとえば、XNUMX文だけの段落を含めることは許可されていない場合があります。 これらの段落を認識するのは難しいことではありませんが、時間がかかります。特に長いドキュメントです。
本日、ドキュメント内のすべてのXNUMX文の段落をすばやく指定する方法を提供します。
XNUMXつのドキュメントですべてのXNUMX文の段落を検索する
- まず、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」を押してください。
このようなメッセージボックスが表示され、ジョブが完了したことが通知されます。
複数のドキュメントですべてのXNUMX文の段落を検索する
- まず最初に、対象となるすべての文書をフォルダに入れる必要があります。
- 次に、次のマクロをインストールして実行します。
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」をクリックします。
次に、マクロはすべてのXNUMX文の段落を強調表示し、ドキュメントを開いたままにします。 ドキュメントにXNUMX文の段落が含まれていない場合、ドキュメントは閉じられます。 さらに、各ドキュメントのXNUMX文の段落の数を示すメッセージボックスがあります。
データ損失インシデントへの対処
ユーザーエラーや突然の停電により、Wordが停止する可能性があります。 折りたたまれた単語は日常業務に影響を与えるだけでなく、 ドキュメントの損傷これはデータ災害の中で最も厄介な部分というわけではありません。修復ユーティリティを使ってすぐにデータを復旧するのが最善です。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 回復する (NAIST) と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

![マクロの貼り付け-> [実行]をクリックします マクロの貼り付け-> [実行]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/07/Paste-Macro-then-Click-Run-3.jpg)


