2014-12-03 6 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

스티브 린드버그 감사합니다. – chipbk10

관련 문제