从字数统计中排除 Word 文档中数字的 4 种方法

立即分享:

在今天的文章中,我们将向您介绍 4 种有效的方法来从字数统计中排除 Word 文档中的数字。

通常,Word 会统计所有类型的文本,无论是单词还是数字。 但是,有时我们可能会排除某些元素(例如数字)来进行字数统计。 因此,我们很高兴向您展示 4 种方法来满足这一要求。从字数统计中排除 Word 文档中的数字

首先,您必须备份目标文档,并在备份文档上执行以下所有方法。

方法一:删除所有号码

  1. 首先,打开复制文件并单击“主页”选项卡下“查找”的下拉按钮。
  2. 其次,选择“高级查找”打开“查找和替换”对话框。点击“主页”->点击“查找”->选择“高级查找”
  3. 接下来在“查找内容”文本框中输入“^#”。 如果您不记得这个字符串,请将光标放在“查找内容”文本框并单击“更多”,然后单击“特殊”按钮。
  4. 然后选择“任何数字”。
  5. 现在单击“查找位置”并选择“主文档”。
  6. 你会发现所有的号码都在选择中。在“查找内容”文本框中输入“^#”->点击“查找范围”->选择“主文档”
  7. 按“删除”。
  8. 数字消失后,您会注意到 Word 现在将一些标点符号视为单词。 因此,您还需要删除所有标点符号。 再次打开“查找和替换”框。 这次输入“[,.;:'”””/\!\*\?\\]”(不带引号)在“查找内容”文本框中。
  9. 并记得选中“使用通配符”框。
  10. 重复步骤 5 以查找所有标点符号。在“查找内容”文本框中输入字符串->点击“查找范围”->选择“主文档”
  11. 删除它们。
  12. 最后,单击“Review”,然后单击“Word Count”以查看文本总数。点击“审阅”->点击“字数统计”

方法 2:将所有数字格式化为隐藏文本

Word 在字数统计中不包括隐藏文本,因此您可以选择以隐藏格式设置数字。

  1. 首先,重复方法中的前 6 个步骤。
  2. 不要删除选定的数字,而是按“Ctrl+D”打开“字体”框。
  3. 选中“隐藏”框,然后单击“确定”。选中“隐藏”框->单击“确定”
  4. 接下来重复步骤 8 到 9 以查找所有标点符号。
  5. 同样,按照步骤 2 和 3 将标点符号格式化为隐藏文本。
  6. 最后,检查总字数。

方法二:运行Word宏

以下宏将自动执行上述步骤并返回一个消息框,其中包含不包括数字的单词总数。

  1. 首先,在 Word 中按“Alt+F11”打开 VBA 编辑器。
  2. 接下来单击左栏中的“正常”。
  3. 然后单击“插入”选项卡并选择“模块”。点击“普通”->点击“插入”->点击“模块”
  4. 双击模块将其打开并粘贴以下代码:
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
  1. 单击“运行”。粘贴代码->点击“运行”

您将收到一个消息框,告诉您文档中有多少个单词,例如:结果框

方法 4:从字数统计中排除表格中的数字

这里特别需要从字数统计中排除表格中的数字。 解决方案是运行一个宏。

  1. 按照上面方法 3 中的说明安装并运行宏。
  2. 然后用这个替换那个宏:
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修复 和 pdf 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。