今日の記事では、Word文書の数字を単語数の統計から除外する4つの効果的な方法を紹介します。
一般に、Wordは、単語であれ数字であれ、すべての種類のテキストをカウントします。 しかし、時々、数字などの特定の要素を除いて単語カウントを行う可能性があります。 したがって、このような要件を満たすための4つの方法を紹介できることをうれしく思います。
まず最初に、対象ドキュメントのバックアップを作成し、以下のすべての手順をバックアップしたコピーに対して実行する必要があります。
方法1:すべての番号を削除する
- まず、コピーファイルを開き、[ホーム]タブの[検索]のドロップダウンボタンをクリックします。
- 次に、「高度な検索」を選択して、「検索と置換」ダイアログボックスを開きます。
- 次に、「検索対象」テキストボックスに「^#」と入力します。 この文字列を思い出せない場合は、[検索する文字列]テキストボックスにカーソルを置き、[その他]をクリックしてから、[特別]ボタンをクリックしてください。
- 次に、「任意の桁」を選択します。
- 次に、「検索」をクリックして、「メインドキュメント」を選択します。
- すべての番号が選択されていることがわかります。
- 「削除」を押します。
- 数字がなくなると、Wordがいくつかの句読点を単語と見なしていることに気付くでしょう。 したがって、句読点もすべて削除する必要があります。 「検索して置換」ボックスをもう一度開きます。 今回は「[、。;: '””” / \!\ * \?\\]「検索対象」テキストボックスに「」(引用符は含みません)。
- また、[ワイルドカードを使用する]チェックボックスをオンにすることを忘れないでください。
- 手順5を繰り返して、すべての句読点を見つけます。
- それらを削除します。
- 最後に、「レビュー」、「ワードカウント」の順にクリックして、テキストの総数を表示します。
方法2:すべての数値を非表示のテキストとしてフォーマットする
Wordの単語数には非表示のテキストが含まれていないため、非表示の形式で数値を設定することを選択できます。
- まず、メソッドの最初の6つの手順を繰り返します。
- 選択した番号を削除する代わりに、「Ctrl + D」を押して「フォント」ボックスを開きます。
- 「非表示」ボックスにチェックを入れ、「OK」をクリックします。
- 次に、手順8から9を繰り返して、すべての句読点を見つけます。
- 同様に、手順2と3に従って、句読点を非表示のテキストとしてフォーマットします。
- 最後に、単語の総数を確認します。
方法3:Wordマクロを実行する
次のマクロは、上記の手順を自動的に実行し、数字を除く単語の総数を含むメッセージボックスを返します。
- まず、Wordで「Alt + F11」を押して、VBAエディターを開きます。
- 次に、左側の列の「通常」をクリックします。
- 次に、「挿入」タブをクリックして「モジュール」を選択します。
- モジュールをダブルクリックして開き、次のコードを貼り付けます。
Sub ExcludeNumbersFromWordCount()
Dim objDoc As Document
Dim nWord As Integer
Set objDoc = ActiveDocument
With Selection
.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^#"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[,.;:’" & ChrW(8221) & ChrW(8221) & """/\!\*\?\\]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.Execute
End With
Selection.Find.Execute Replace:=wdReplaceAll
End With
nWord = objDoc.Range.ComputeStatistics(wdStatisticWords)
MsgBox ("There are " & nWord & " words in this document.")
End Sub
- 「実行」をクリックします。
次のように、ドキュメントに含まれる単語の数を示すメッセージボックスが表示されます。
方法4:単語数から表の数字を除外する
これは、ワードカウントからテーブル内の数字を除外する特別な必要性です。 解決策は、マクロを実行することです。
- 上記の方法3で説明したように、マクロをインストールして実行します。
- 次に、そのマクロを次のマクロに置き換えます。
Sub ExcludeNumbersInTablesFromWordCount()
Dim objDoc As Document, objNewDoc As Document
Dim nWord As Integer, nWordInNewDoc As Integer, nWordInNewDocWithoutNum As Integer, nNumber As Integer
Dim objTable As Table
Dim objRange As Range
Dim objParagraph As Paragraph
Set objDoc = ActiveDocument
Set objNewDoc = Documents.Add
nWord = objDoc.Range.ComputeStatistics(wdStatisticWords)
For Each objTable In objDoc.Tables
objTable.Range.Select
Selection.Copy
Set objRange = objNewDoc.Range
objRange.Collapse Direction:=wdCollapseEnd
objRange.PasteSpecial DataType:=wdPasteRTF
objRange.Collapse Direction:=wdCollapseEnd
objRange.Text = vbCr
Next objTable
objNewDoc.Activate
For Each objParagraph In ActiveDocument.Paragraphs
If objParagraph.Range.Style = "Caption" Then
objParagraph.Range.Delete
End If
Next objParagraph
nWordInNewDoc = objNewDoc.Range.ComputeStatistics(wdStatisticWords)
With Selection
.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^#"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "[,.;:’" & ChrW(8221) & ChrW(8221) & """/\!\*\?\\]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.Execute
End With
Selection.Find.Execute Replace:=wdReplaceAll
End With
nWordInNewDocWithoutNum = objNewDoc.Range.ComputeStatistics(wdStatisticWords)
nNumber = nWordInNewDoc - nWordInNewDocWithoutNum
objDoc.Activate
MsgBox ("There are " & nWord - nNumber & " words in this document, excluding numbers in tables.")
End Sub
次のようなメッセージボックスが表示されます。
前もって考える
Wordは万能ではないため、手遅れになる前に予防策を講じる必要があります。最も効果的な方法は、ドキュメントをバックアップし、できる限り頻繁にバックアップすることです。ドキュメントのバックアップには数分しかかかりませんが、復元には数時間、場合によっては数日かかることもあります。 破損したdocx。 したがって、時間とお金の両方を節約するために、前もって考えてください。
著者紹介:
Vera Chenは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 Excelの修正 (NAIST) と pdf ソフトウェア製品を修理します。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com







![コードの貼り付け-> [実行]をクリックします コードの貼り付け-> [実行]をクリックします](https://www.datanumen.com/blogs/wp-content/uploads/2017/04/Paste-Codes-then-Click-Run-7.jpg)

