在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对象?
答案 0 :(得分:1)
Shapes具有BottomRightCell属性,该属性返回形状右下角所覆盖的单元格。 如果为每个形状迭代该属性,您应该能够收集所需范围的最右列和最后一行。