Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法在没有活动文档的情况下获取powerpoint幻灯片的宽度和高度?_C#_Vsto_Powerpoint - Fatal编程技术网

C# 有没有办法在没有活动文档的情况下获取powerpoint幻灯片的宽度和高度?

C# 有没有办法在没有活动文档的情况下获取powerpoint幻灯片的宽度和高度?,c#,vsto,powerpoint,C#,Vsto,Powerpoint,我正在写一些自动发布PowerPoint幻灯片的代码 我已经发现PowerPoint应用程序对象中的ActiveDocument允许我知道幻灯片的宽度和高度 但是,当我使用MsoTriStat.msoFalse标志启动应用程序时,PowerPoint当然不会出现在我面前,我也无法计算幻灯片的宽度和高度,因为application没有任何ActiveWindow 那个么,有并没有另一种方法来获得幻灯片的宽度和高度呢 更新 这是我的测试代码 Application app = new Applica

我正在写一些自动发布PowerPoint幻灯片的代码

我已经发现PowerPoint应用程序对象中的
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#程序员;基本上,使用演示文稿集合的第一个元素)