2017-11-07 2 views
0

C#에서 내 PowerPoint 프레젠테이션의 모든 제목을 수집하는 기능을 만들려고합니다. 먼저 주어진 슬라이드 제목을 수집하고 싶습니다. 그런 다음 루프를 만듭니다. 하지만 상품의 상품은 입니다. 슬라이드 개체입니다.C#에서 Slides 개체의 Item 속성

using Microsoft.Office.Interop.PowerPoint; 
... 
namespace TestTaskPane 
{ 
    public partial class ThisAddIn 
    { 
    ... 
     public string CollectTitles 
     { 
      Slide Sld = this.Application.ActivePresentation.Slides.Item(1) 
     } 

나는 다음과 같은 오류가 있습니다 '슬라이드'항목 '및 유형의 첫 번째 인수를 받아들이는없는 확장 메서드'항목 '에 대한 정의가 포함되어 있지 않습니다 볼 수 있습니다 (당신은 using 지시문 누락되거나 어셈블리 참조?)

그러나 MSDN을 보면 슬라이드에 Item 속성이 있다는 것을 알 수 있습니다.

무엇이 잘못 되었나요?

답변

1

Slides 개체에 일반 배열 반복을 사용하려면 아래 예제를 참조하십시오.

var p = this.Application.ActivePresentation; //your presentation 

var titles = new List<Shape>(); 

for (int i = 0; i < p.Slides.Count; i++) 
{ 
    titles.Add(p.Slides[i].Shapes.Title); 
} 
+0

당신이 바로 거기입니다. 나는 아직도 Item이 효과가없는 이유를 이해하지 못한다. 그러나 당신의 충고에 따라 나는 그것을 필요로하지 않는다. – droledenom

0

Application.ActivePresentation.Slides.Items(0) 대신 Application.ActivePresentation.Slides[0]을 시도하십시오. 슬라이드 [0]을 사용하면 Slides.this [0]을 얻습니다. 이는 정확히 Item 속성의 약자입니다.

슬라이드 속성에 직접 액세스 할 수있는 이유를 설명하기 위해 편집되었습니다.

+0

아니, 내가 직접 [I] this.Application.ActivePresentation.Slides를 사용하여 각 슬라이드에 액세스 할 수 있습니다, 여전히 같은 오류 – droledenom