【发布时间】:2012-06-09 17:28:53
【问题描述】:
我一直在试图弄清楚如何阅读存在标题的段落内容。标题本身是目录的一部分。标题将具有特定的样式(例如标题 1)。
例如:“Introduction”是目录中样式为 Heading 1 的条目。我想阅读“Introduction”标题下的内容,但不想阅读更多内容(即不是 Introduction 子标题下的内容)
我一直在尝试使用样式/样式、内容表、段落/段落、范围来做到这一点。仍然无法想出有效的解决方案。
我在 VS 2010 的 VB.NET 中工作。我正在使用 2007 对象模型(Office 2007 互操作)这个词,如 @http://msdn.microsoft.com/en-us/library/bb244515(v=office.12 所述)
任何指针将不胜感激
问候 萨米尔
【问题讨论】:
-
那么你想选择从标题1开始到下一个标题结束的任何类型的所有内容吗?是否所有段落都包含特定样式?
-
是的,这是正确的。所有段落的风格相同。现在我正在尝试遍历所有段落,并检查 wdStyleHeading1 的段落 wdbuiltinstyle。我在想一旦我得到一个平等我可以检查段落文本。如果这等于“介绍”,那么我知道下一段会引起我的兴趣。我还可以交叉检查下一段是否具有正常的段落样式。我的问题是段落样式和内置样式似乎没有相同的类型。我得到 comException for 'code' p.Style.GetType.Name = WdBuiltinStyle.wdStyleHeading1
-
你匹配的东西有些不同,
p.Style = "Heading 1"不适合吗? -
您好 Remou,感谢您的回复。我试过 If p.Style="Heading 1" 但后来我得到 System.InvalidCastException。详细信息有“{”重载解析失败,因为无法使用这些参数调用 Public '=':'Public Shared Operator =(a As String, b As String) As Boolean':Argument matching parameter 'a' cannot convert from '__ComObject ' 到 'String'。"} 谢谢 Sameer
标签: vb.net ms-word office-interop