【问题标题】:Extracting specific text from a Word file从 Word 文件中提取特定文本
【发布时间】:2011-06-01 21:33:38
【问题描述】:

我有一个字体大小为 14 和 18 的 Word 文档,该文档有 1500 页。

我必须对字体 14 和字体 18 进行特定更改,因此在搜索后,我发现了 VBA for Word,它可以让我轻松做到这一点。

由于我以前从未做过 VBA,所以我尝试了这个:

Sub tryIt()

If Selection.Font.Size = 18 Then
MsgBox ("test")

End If
End Sub

但它不起作用... msgbox() 只是为了查看它是否正确识别文本。

那么如何在 Word 文档中分离/区分字体大小 14 和 18 并在 vb 脚本中实现呢?

有什么方法可以提取 14 和 18 大小的文本或搜索它,以便我可以进行查找/替换?

【问题讨论】:

  • 我现在手头没有 Word,但是你可以使用 Find->Special 录制一个宏来获取粗略的代码。

标签: vb.net ms-word


【解决方案1】:

要准确说出您的目标有点棘手,但以下宏会将字体大小为 14 的所有连续文本替换为文本“fuzz”。

Sub TryIt()
With Selection.Find
    .ClearFormatting
    .Font.Size = 14
    .Replacement.ClearFormatting
    .Text = ""
    .Replacement.Text = "fuzz"
    .Wrap = wdFindContinue
    .Format = True
    .Execute Replace:=wdReplaceAll
End With
End Sub

如果这不是您想要的,您可能需要澄清一下您的意思。

【讨论】:

    【解决方案2】:

    你没有说你的代码有什么问题。但是,对于初学者来说,试试这个:

    Sub tryIt()
        Dim findRange As Range
        Set findRange = ActiveDocument.Range
        findRange.Find.ClearFormatting
        findRange.Find.Font.Size = 18
    
        Do While findRange.Find.Execute(findtext:="") = True
            findRange.Select
            'Do something here
    
            DoEvents
        Loop
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      相关资源
      最近更新 更多