如何在Powerpoint幻灯片显示窗口中查找当前幻灯片

本文关键字:幻灯片 查找 窗口 显示 Powerpoint | 更新日期: 2023-09-27 18:04:56

我创建了一个Powerpoint插件,我需要找到哪个幻灯片在幻灯片显示窗口中是活动的。我有这样的代码:

if (Globals.ThisAddIn.Application.SlideShowWindows.Count > 0)
{
for (int s = 0; s < Globals.ThisAddIn.Application.ActivePresentation.Slides.Count; s++)
{
//abc
}
}

检查slideshow窗口是否在运行然后浏览presentation中的所有幻灯片。但这不是一个很好的解决方案。我想马上得到当前幻灯片

如何在Powerpoint幻灯片显示窗口中查找当前幻灯片

这是您想要的VBA。它返回第一个幻灯片显示窗口中活动幻灯片的索引:

SlideShowWindows(1).View.Slide.SlideIndex

我试过这段代码,这是为我工作,它可能对新的开发人员有用。

Microsoft.Office.Interop.PowerPoint.Presentation objPres;
                Microsoft.Office.Interop.PowerPoint.SlideShowView oSlideShowView;
                objPres = Globals.ThisAddIn.Application.ActivePresentation;
                objPres.SlideShowSettings.ShowPresenterView = MsoTriState.msoFalse;
PowerPoint.Slide curSlide_1 = ppApp.ActiveWindow.View.Slide;
                objPres.SlideShowSettings.Run();
                oSlideShowView = objPres.SlideShowWindow.View;                
                oSlideShowView.GotoSlide(curSlide_1.SlideIndex);

使用c#的互操作接口,您可以使用next调用

Globals.ThisAddIn.Application.ActiveWindow.View.Slide;