C# 有没有办法在没有活动文档的情况下获取powerpoint幻灯片的宽度和高度?
我正在写一些自动发布PowerPoint幻灯片的代码 我已经发现PowerPoint应用程序对象中的C# 有没有办法在没有活动文档的情况下获取powerpoint幻灯片的宽度和高度?,c#,vsto,powerpoint,C#,Vsto,Powerpoint,我正在写一些自动发布PowerPoint幻灯片的代码 我已经发现PowerPoint应用程序对象中的ActiveDocument允许我知道幻灯片的宽度和高度 但是,当我使用MsoTriStat.msoFalse标志启动应用程序时,PowerPoint当然不会出现在我面前,我也无法计算幻灯片的宽度和高度,因为application没有任何ActiveWindow 那个么,有并没有另一种方法来获得幻灯片的宽度和高度呢 更新 这是我的测试代码 Application app = new Applica
ActiveDocument
允许我知道幻灯片的宽度和高度
但是,当我使用MsoTriStat.msoFalse
标志启动应用程序时,PowerPoint当然不会出现在我面前,我也无法计算幻灯片的宽度和高度,因为application
没有任何ActiveWindow
那个么,有并没有另一种方法来获得幻灯片的宽度和高度呢
更新这是我的测试代码
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");
打开演示文稿时,它将成为活动演示文稿。ActivePresentation对象将允许您访问所需的属性。尝试使用
presentation.PageSetup.SlideHight
和presentation.PageSetup.SlideWidth
谢谢您的评论@Steve。然而,当我按照您的建议编写测试代码时,它表示没有活动的表示。我猜当我添加带有MsoTriState.msoFalse
标志的新演示文稿时,没有激活的内容。我用测试代码更新了一个问题。尝试添加一个新演示文稿,然后将演示文稿变量设置为app.Presentations(1)(很抱歉,我不是C#程序员;基本上,使用演示文稿集合的第一个元素)