vb.net - 使用 Office 互操作检测 Word 文档中的表格和图像

标签 vb.net office-interop

我正在使用 Word 互操作 API 迭代 Word 文档中的段落。到目前为止,我通过使用样式对象检测不同的标题没有问题。但是现在我遇到的情况是表内的内容与表外的内容具有相同的样式。我需要找到一种方法来理解所讨论的段落实际上是一个表格。

我也有类似的需要来弄清楚段落何时实际上是嵌入图像。

当我在 Word 文档中物理选择表格或图像时,我可以看到格式上方的工具部分发生变化。当选择图像时,它是“图片工具”;当选择表格时,它是“表格工具”;当选择普通段落时,工具部分不会显示。

如何使用 word interop API 检测此行为?

谢谢 萨米尔

最佳答案

虽然这篇文章看起来很旧,但我在从事办公自动化工作时搜索类似的问题时遇到了这个问题,希望这篇文章将有助于进一步调查和扩展。

循环浏览 Word 文档的段落时,

Paragraph.Range.Tables.Count 提供一个值,指示该段落是否位于表格内。

Paragraph Outside table :  Paragraph.Range.Tables.Count = 0
Paragraph Inside  table :  Paragraph.Range.Tables.Count = 1 ( or above not checked )

获取表格结尾(表格内的最后一段)

                    :  Paragraph.Next().Range.Tables.Count == 0

(上述逻辑适用于使用 NetOffice 程序集,而 NetOffice 程序集又使用互操作程序集,希望这也直接适用于 Word 互操作程序集)

关于vb.net - 使用 Office 互操作检测 Word 文档中的表格和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10994060/

相关文章:

c# - 如何使用 C# 删除 Excel 图表图例条目?

.net - 在大型数据库上使用 smo 备份失败

.net - .net 中如何将日期转换为太阳日期?

sql - 未处理的异常错误 - 用户登录失败

asp.net - 从DataTable中删除空行的方法?

c# - 如何使用 Microsoft.Office.Interop.Word 在某些 Word 文档中查找和修改文本框?

vb.net:iif 如何给出空引用异常?

c# - 尝试使用 Excel 2007 进行办公自动化,但一直使用 Excel 2003

c# - 从 Outlook 2007 加载项修改 ActiveInlineResponseWordEditor

c# - 如何以编程方式创建 Excel "sort/Filter combobox"?