Vb.net 使用word interop 2007阅读word文档特定标题下的内容

Vb.net 使用word interop 2007阅读word文档特定标题下的内容,vb.net,ms-word,office-interop,Vb.net,Ms Word,Office Interop,我一直在试图找出如何阅读有标题的段落内容。标题本身是目录的一部分。标题将具有特定的样式(例如标题1) 例如:“简介”是目录中样式标题为1的条目。我想阅读“导言”标题下的内容,但不想再阅读更多内容(即不想阅读导言副标题下的内容) 我一直在尝试使用样式/样式、目录、段落/段落、范围来实现这一点。仍然无法提出有效的解决方案 我在VB.NET的VS2010中工作。我正在使用word 2007对象模型(office 2007 interop),如所述@) 任何指点都将不胜感激 问候 Sameer我终于找到

我一直在试图找出如何阅读有标题的段落内容。标题本身是目录的一部分。标题将具有特定的样式(例如标题1)

例如:“简介”是目录中样式标题为1的条目。我想阅读“导言”标题下的内容,但不想再阅读更多内容(即不想阅读导言副标题下的内容)

我一直在尝试使用样式/样式、目录、段落/段落、范围来实现这一点。仍然无法提出有效的解决方案

我在VB.NET的VS2010中工作。我正在使用word 2007对象模型(office 2007 interop),如所述@)

任何指点都将不胜感激

问候
Sameer

我终于找到了解决办法

下面的代码段检测具有“标题1”样式的段落

谢谢


Sameer

那么您想选择从标题1开始到任何类型的下一个标题结束的所有内容?所有的段落都要包含一种特定的风格吗?是的,这是正确的。所有段落的风格都相同。现在我正在尝试遍历所有段落,并检查wdStyleHeading1的WDBUILTINGSTYLE段落。我在想,一旦我得到一个等式,我就可以检查段落文本。如果这等于“介绍”,那么我知道下一段将是我感兴趣的。我还可以交叉检查下一段是否具有正常的段落样式。我的问题是段落样式和内置样式似乎没有相同的类型。“code”p.Style.GetType.Name=WdBuiltinStyle.wdStyleHeading1是一个例外。您正在匹配一些不同的东西,您觉得p.Style=“Heading 1”不合适吗?您好,Remou,谢谢您的回复。我尝试了如果p.Style=“Heading 1”,但随后得到System.InvalidCastException。详细信息有“{”重载解析失败,因为无法使用以下参数调用公共“=”:“公共共享运算符=(a作为字符串,b作为字符串)作为布尔值”:匹配参数“a”的参数无法从“\u ComObject”转换为“字符串”。}谢谢Sameer
   For Each paragraph As Paragraph In doc.Paragraphs
        Dim style As NetOffice.WordApi.Style = paragraph.Style
        If style.NameLocal = "Heading 1" Then
            paragraph.Next()
            Console.WriteLine(paragraph.Range.Text)
            Console.WriteLine("*********")
        End If
    Next