Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 从Word文件中提取特定文本_Vb.net_Ms Word - Fatal编程技术网

Vb.net 从Word文件中提取特定文本

Vb.net 从Word文件中提取特定文本,vb.net,ms-word,Vb.net,Ms Word,我有一个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和

我有一个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大小的文本或搜索它,以便我可以进行查找/替换?

您没有说代码中有什么不起作用。但是,对于初学者来说,可以尝试以下方法:

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

要准确地说出您想要的是什么有点棘手,但是下面的宏将用文本“fuzz”替换所有字体大小为14的连续文本


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

我现在手头没有文字,但是你可以使用Find->Special录制一个宏来获得这方面的粗略代码。
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