有没有一种方法可以判断Word文档中的表格中是否有合并的单元格?
当我按照表格浏览单词文档并更改表格和单元格属性时,我的程序出错,因为某些表格包含合并的单元格,但是如果我根据该单元格来遍历,则由于文档内容可能很多,这将花费很长时间,我知道excel中有一个MergeCells属性,但是如果没有这个属性的话……
Range FR = wordDoc.Range(sRange.Start, sRange.End);
for (int i = 1; i <= FR.Tables.Count; i++)
{
//Range IsMerge = FR.Tables[i].Range;
//if (IsMerge)
//{
//}
for (int j = 1; j <= FR.Tables[i].Rows.Count; j++)
{
Range rg = FR.Tables[i].Rows[j].Range;
object Replace_String = "^p";
object ms = Type.Missing;
object Replace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
object ReplaceWith = "";
rg.Find.Execute(ref Replace_String, ref ms, ref ms, ref ms, ref ms,
ref ms, ref ms, ref ms, ref ms, ref ReplaceWith,
ref Replace, ref ms, ref ms, ref ms, ref ms);
rg.ParagraphFormat.FirstLineIndent = 0;
rg.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
}
}
由于该表具有垂直合并的单元格,因此无法访问此集合中的单个行。
答案 0 :(得分:0)
这是如何在VBA中检查Word表中垂直或水平合并的单元格的方法。您必须预料到特定的返回错误代码,然后做出相应的反应。您可以将其转换为C#。
df[ (df[column_name].notnull()) & (df[column_name]!=u'') ].index
答案 1 :(得分:0)
要检查表是否已合并单元格,可以使用Uniform
属性:
if (FR.Tables[i].Uniform)
{
//Do actions for the case the table has no merged cells
}