C# 从word文档中确定word的格式

C# 从word文档中确定word的格式,c#,ms-word,office-interop,com-interop,C#,Ms Word,Office Interop,Com Interop,我正在用C语言编写一个应用程序,它使用Microsoft Office interop DLL读取Word文档。这很好用 我现在还想确定应用于我正在阅读的单词的格式——例如,检查它是粗体、斜体还是下划线。如何执行此操作?您应该使用Microsoft.Office.Interop.Word.Range对象的粗体、斜体或下划线属性 这是一个代码示例: Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.

我正在用C语言编写一个应用程序,它使用Microsoft Office interop DLL读取Word文档。这很好用


我现在还想确定应用于我正在阅读的单词的格式——例如,检查它是粗体、斜体还是下划线。如何执行此操作?

您应该使用Microsoft.Office.Interop.Word.Range对象的粗体斜体下划线属性

这是一个代码示例:

  Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
        string fileName = @"C:\folder\document.docx";
        Document wordDoc = wordApp.Documents.Open(fileName);
        Microsoft.Office.Interop.Word.Range rng = wordDoc.Range();
        foreach (Microsoft.Office.Interop.Word.Range word in rng.Words)
        {
            if (word.Bold == -1)
            {
                //Do wathever you want with the bold text                    
            }
            else if (word.Italic == -1)
            {
                //Do wathever you want with the italic text
            }
            else if ( ((WdUnderline) word.Underline) == WdUnderline.wdUnderlineSingle)
            {
                //Do wathever you want with the underline text
            }
        }

        wordApp.Documents.Close();
        wordApp.Quit();
请注意,属性word.Bold和word.Italic不返回TRUE或FALSE,而是一个表示三种可能状态之一的整数。从MSDN:

此属性返回True、False或wdUndefined(True和False的混合)

在这些情况下,值-1对应于TRUE。 否则,word.Underline属性是一个枚举,您可以在此处找到所有可能的值: