2014-12-03 3 views
0

Я хочу сгруппировать несколько фигур на другом слайде. Задача кажется очень простой. Однако проблема заключается в том, что формы, которые необходимо сгруппировать, не находятся на текущем слайде.Как сгруппировать несколько фигур на другом PowerPoint.Slide

Например,

Текущий слайд слайд № 2. Мои формы должны были быть сгруппированы находятся на слайд № 10. Когда форма на слайд № 10 выбран, он всегда вызывает ошибку. Кажется, что мы не можем изменить выбор слайдов.

Мой код следовать:

PowerPoint.Slides allSlides = ppApp.ActivePresentation.Slides;

for (int i = 1; i <= allSlides.Count; i++)

{

PowerPoint.Slide slide = allSlides[i]; if (slide.SlideId == 10) { //- Select the slide first slide.Select(); //- Select (assuming) shape1 and shape3 slide.Shapes[1].Select(); //- Error: The shape1 cannot be selected???? slide.Shapes[3].Select(Microsoft.Office.Core.MsoTriState.msoFalse); PowerPoint.ShapeRange shapeRange = ppApp.ActiveWindow.Selection.ShapeRange; shapeRange.Group(); } }

ответ

1

Если нет никакого пути вокруг него, никогда не выбрать слайды или формы. И почти никогда не бывает ситуации, когда вам нужно их выбирать.

В VBA, если вы хотите работать с чем-то на слайде 10:

Dim oGrpShp as shape 

With ActivePresentation.Slides(10) 
    ' And here you could work with the slide's ShapeRange 
    set oGrpShp = .Shapes.Range.Group 
    ' now you can work with the group as needed: 
    oGrpShape.left = 300 ' or whatever 
End With 

Если вы попробуете это на слайде, который включает в себя заполнители, это будет ошибка; вы не можете включать заполнители в группу.

+0

Спасибо, Стив Rindsberg. – chipbk10