VSTO 中实现Selection对象中获取ChartObjects 、ShapeRange 源码
时间: 2024-03-10 14:45:10 浏览: 135
在 VSTO 项目中,您可以使用 `Globals.ThisAddIn.Application.Selection` 获取当前选定的对象,然后根据选定的对象类型进行类型转换。以下是获取选定的 `ChartObjects` 和 `ShapeRange` 的示例代码:
```
using Excel = Microsoft.Office.Interop.Excel;
// 获取选定的对象
object selection = Globals.ThisAddIn.Application.Selection;
// 判断选定的对象是否为图表
if (selection is Excel.ChartObjects)
{
// 获取选定的图表对象集合
Excel.ChartObjects selectedCharts = (Excel.ChartObjects)selection;
// 遍历选定的图表对象集合
foreach (Excel.ChartObject chartObject in selectedCharts)
{
// 获取图表对象
Excel.Chart chart = chartObject.Chart;
// 处理每个图表对象
// ...
}
}
// 判断选定的对象是否为形状
if (selection is Excel.ShapeRange)
{
// 获取选定的形状对象集合
Excel.ShapeRange selectedShapes = (Excel.ShapeRange)selection;
// 遍历选定的形状对象集合
foreach (Excel.Shape shape in selectedShapes)
{
// 处理每个形状对象
// ...
}
}
```
请注意,上述代码示例是在 VSTO 项目中使用的,如果您正在使用其他类型的 C# 项目,则需要根据情况进行调整。
阅读全文