1

在 VSTO (C#) 项目中,我想使用 UsedRange,包括图片和图表等形状对象。

1.有没有办法用形状对象获取UsedRange?

由于我找不到这样的方法,我想用这个来计算边缘:

foreach (Excel.Shape shape in shapeObjects)
{
     float shapeBottom = shape.Top + shape.Height;
     float shapeRight = shape.Left + shape.Width;
     if (maxBottom < shapeBottom)
     {
         maxBottom = shapeBottom;
     }
     if (maxRight < shapeRight)
     {
         maxRight = shapeRight;
     }
 }

 Excel.Range r = <XXX>(maxBottom, maxRight);

所以现在我遇到了从 maxBottom 和 maxRight 获取 Range 的问题。

2. 有没有办法通过给出宽度和高度来获取 Range 对象?

4

1 回答 1

1

形状有一个 BottomRightCell 属性,它返回形状右下角覆盖的单元格。如果您遍历每个形状的该属性,您应该能够收集最右边的列和您想要的范围的最后一行。

于 2012-10-16T15:03:41.077 回答