2016-05-12 3 views
1

私はPowerPointスライドを自動的に公開するためのコードを書いています。アクティブなドキュメントなしでパワーポイントスライドの幅と高さを取得する方法はありますか?

私は既に、PowerPointアプリケーションオブジェクトのActiveDocumentがスライドの幅と高さを知ることができることを発見しました。

しかし、私はMsoTriStat.msoFalseフラグを使用してアプリケーションを起動すると、PowerPointはもちろん私には表示されず、ApplicationはどんなActiveWindowを持っていないので、私はスライドの幅と高さを把握することはできません。

スライドの幅と高さを取得する別の方法はありますか?あなたはそれがアクティブなプレゼンテーションになりプレゼンテーションを開くと

UPDATE
は、ここに私のテストコード

Application app = new Application(); 
Presentation presentation = app.Presentations.Add(MsoTriState.msoFalse); 
Slide slide = presentation.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly); 

Console.WriteLine("Shapes in slide: {0}", slide.Shapes.Count); 
Console.WriteLine("slide name: {0}", slide.Name); 

Console.WriteLine(app.ActivePresentation.Name); 

app.ActiveWindow.Width = 1024; 
app.ActiveWindow.Width = 768; 
app.ActiveWindow.View.Zoom = 100; 

presentation.SaveAs(@"C:\Temp\ppt1.pptx"); 

答えて

1

は、あなたのコメント@Steveためpresentation.PageSetup.SlideHeightpresentation.PageSetup.SlideWidth

0

です。 ActivePresentationオブジェクトは、必要なプロパティへのアクセスを提供します。

+0

感謝を使用してみてください。しかし、あなたのアドバイスに従ってテストコードを書くと、アクティブなプレゼンテーションがないと言われます。 'MsoTriState.msoFalse'フラグを付けて新しいプレゼンテーションを追加すると、アクティブなものはないと思います。テストコードで質問を更新しました。 –

+0

新しいプレゼンテーションを追加して、プレゼンテーション変数をapp.Presentations(1)に設定してみてください(私はC#プログラマではなく、基本的にPresentationsコレクションの最初の要素で作業します) –

関連する問題