2017-11-07 4 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に見て、私はSlidesが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

あなたは正しいですがまだある、私は直接[i]はthis.Application.ActivePresentation.Slidesを使用して、各スライドにアクセスすることができます。私はまだアイテムがうまくいかない理由を理解していませんが、あなたのアドバイスでは私はそれを必要としません。 – droledenom

0

Application.ActivePresentation.Slides.Items(0)の代わりにApplication.ActivePresentation.Slides[0]を試してください。 Slides [0]では、Slides.this [0]を取得します。これは、Itemプロパティの意味です。

Slidesプロパティに直接アクセスできる理由を説明するために編集しました。

+0

いいえ、同じエラー – droledenom

関連する問題