如何在PowerPoint 2007中识别合并的单元格?无论如何我们可以找到合并的特定单元格。
2003年,我们尝试访问单元格的Fill.Visible
属性,当它抛出错误时,我们可以将单元格标识为合并单元格。我们如何在2007年实现这一目标?
答案 0 :(得分:3)
这很难。但是,我发现的最好方法是检查单元格的宽度。这段代码不是最好的,因为它捕获每个单元格,但它可能是你的起点:
Dim r As Row
Dim co As Column
Dim c As Cell
For Each co In tbl.Columns
For Each c In co.Cells
If c.Shape.Width <> co.Width Then
Debug.Print "Is merged cell"
End If
Next
Next
在2x2表中,单元格2.1和2.2合并(即第二行现在是一个单元格),这将打印“Is merged cell”两次,因为内部表仍然维护单元格2.1和2.2。但这是一个起点,如上所述......
答案 1 :(得分:1)
我认为更好的方法是比较c1.Left == c2.Left&amp;&amp; c1.Top == c2.Top。这意味着合并了2个单元格。只使用LINQ的Distinct和自定义Comparer删除“duplicates”,只需遍历所有单元格。
答案 2 :(得分:0)
合并在一起的单元格将具有相同的cell.Shape.Name。不幸的是,虽然这适用于PowerPoint 2003,但在PowerPoint 2007上询问这些形状的名称时会出现NotImplementedException。我不知道更高版本。