私は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");
感謝を使用してみてください。しかし、あなたのアドバイスに従ってテストコードを書くと、アクティブなプレゼンテーションがないと言われます。 'MsoTriState.msoFalse'フラグを付けて新しいプレゼンテーションを追加すると、アクティブなものはないと思います。テストコードで質問を更新しました。 –
新しいプレゼンテーションを追加して、プレゼンテーション変数をapp.Presentations(1)に設定してみてください(私はC#プログラマではなく、基本的にPresentationsコレクションの最初の要素で作業します) –