2016-06-15 7 views
0

Powerpointプレゼンテーションに特定のShapeが存在するかどうかを調べようとしています。私はC#の初心者であり、すべての図形をどのように循環させるかはわかりません。 foreachループを試しましたが、どこにもありません。ここで私が得たものである:C#特定の形状がPowerpointに存在するかどうかの確認

using pptNS = Microsoft.Office.Interop.PowerPoint; 

... 

    pptNS.Slide pptSlide = null; 
    bool shapeCheck = false; 
    pptNS.Presentation pptPresentation = null; 

try 
    { 
     // Create an instance of PowerPoint. 
     powerpointApplication = new pptNS.ApplicationClass(); 

     pptPresentation = powerpointApplication.Presentations.Open([pptAddress]); 

     foreach (pptNS.Shapes sh in pptSlide.Shapes) 
     { 
      if (sh.Title.Equals("SlideID")) 
      { 
       shapeCheck = true; 
      } 
     } 
} 
    catch (Exception ex) 

しかし、明らかにこれはSystem.InvalidCastExceptionをスローします。 foreachループでpptSlide.Shapesの代わりに何を使用すべきかを誰かが知っていますか?特定の形状が存在するかどうかを確認する別の方法ですか?

+0

は、Shapeという名前のクラスはありますか? –

+0

私が見る限りではなく、私が言ったように、私はC#で経験していないので、私は間違っているかもしれません。 – UsefulUserName

答えて

0

は、私はあなたがこれを変更すべきだと思う。これまで

foreach (pptNS.Shapes sh in pptSlide.Shapes) 

foreach (var sh in pptSlide.Shapes) 
+0

しかし、そこからシェイプ名にどうやって行くのですか? – UsefulUserName

関連する問題