Получить выбранный объект диаграммы, текстовый фрейм или таблицу с помощью надстройки C# VSTO?
Я пытался получить текущий выбранный объект в файле PPTX для надстройки VSTO.
Я использовал приведенный ниже пакет для создания диаграммы, таблиц и текста на слайдах.
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;
У меня есть кнопка на панели Ribben. Как только пользователь щелкает по нему, я хочу получить текущий выбранный объект на любом слайде. Как мне это сделать? Есть ли способ присутствовать в
interop
1 ответ
Если вы выбираете одну или несколько фигур, вы можете сделать что-то вроде этого
if (Globals.ThisAddIn.Application.ActiveWindow.Selection.ShapeRange.Count > 0)
{
//iterate over all the shapes selected by the user
foreach (PowerPoint.Shape shp in Globals.ThisAddIn.Application.ActiveWindow.Selection.ShapeRange)
{
if (shp.HasTable == Office.MsoTriState.msoTrue)
{
//Do something
}
if (shp.HasChart == Office.MsoTriState.msoTrue)
{
//Do something
}
if (shp.HasTextFrame == Office.MsoTriState.msoTrue)
{
//Do something
}
//or you could just return the shp object
}
}