使用VB.NET检查Word文档中的字体样式

时间:2014-01-24 05:32:03

标签: vb.net visual-studio-2010 ms-word office-interop

我想使用vb.net检查word文件,并检查文档中的样式是否正确。

我必须在word文档中检查这些表达式

a.Verdana + 16 pt + Bold + Red

b.Verdana + 12 pt + Bold + Italic + Blue

c.Verdana + 11 pt + Bold + Italic + Brown

d.Arial + 10 pt + Black

我试过了,

If objDoc.Range.Font.Name = "Arial" And objDoc.Range.Font.Size = 10 Then
   If objDoc.Range.Font.Color = WdColor.wdColorBlack Then
   End If
        MsgBox("ok")
    Else
        MsgBox("not ok")
End If

但是使用此代码时,只有当整个word文档由Arial,10,Black组成时才会显示msgbox“OK”,并且当它包含上述表达式时显示msgbox“Not Ok”,除了Arial,10,Black

所以基本上我需要帮助找出同一个word文档中包含所有上述表达式/样式的所有表达式。

任何帮助都会非常明显...... Plz帮助我,仍然无法找到解决方案..

1 个答案:

答案 0 :(得分:4)

使用以下代码,您可以找到字体样式不同的句子。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim oDoc As New Word.Document()
    Dim wapp As New Word.Application()

    Try
        oDoc = wapp.Documents.Open(TextBox1.Text & "\" & "TEST.doc")

        For Each Senetence As Word.Range In oDoc.Sentences
            For Each Character As Word.Range In Senetence.Characters
                If Character.Font.Name <> "Verdana" AndAlso Character.Font.Name <> "Arial" Then
                    MsgBox(" Font Name not matching Error Line number " & Senetence.Text)
                    Exit For
                End If
            Next
        Next
        oDoc.Close()
    Catch ex As Exception
        oDoc.Close()
    End Try

End Sub
相关问题