从Word文件中提取特定文本

时间:2010-12-31 06:31:56

标签: vb.net ms-word word-vba

我有一个Word文档,其字体大小为14和18,文档为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大小的文本或搜索它,以便我可以进行查找/替换?

2 个答案:

答案 0 :(得分:0)

你没有说出你的代码没有用的东西。但是,首先尝试这个:

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

答案 1 :(得分:0)

告诉你到底是什么有点棘手,但是下面的宏将用文本“fuzz”替换所有字体大小为14的连续文本。

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

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