繁体   English   中英

在 C# 中识别活动幻灯片

[英]Identify active slide in C#

我想知道哪个是用户在 PowerPoint 中查看的当前幻灯片(在版本中不是演示文稿)。 我使用了一个带有var new Index = Application.ActiveWindow.View.Slide.SlideIndexSlideChange event

问题是左侧缩略图面板上的光标不在幻灯片上,而是在两个幻灯片之间。 在这种情况下,我有一个错误View (unknown member) : Invalid request。 当前没有幻灯片在视图中。 这是正常的,因为没有指向。 不幸的是,在这种情况下也会引发 SlideChange 事件。

我想忽略没有幻灯片指向的情况。 但是我找不到任何表明它的属性,所以我可以做一些类似if(Application.ActiveWindow..... != ... ){doThis}事情。

我发现的唯一(坏)方法是进行try/catch (但它会减慢应用程序的速度,它会在每张新幻灯片上引发异常)。 你有什么想法可以解决我的问题吗?

您可以使用以下代码获取活动幻灯片对象:

var slide = Application.ActiveWindow.View.Slide

下面的代码能够找到当前正在查看的幻灯片

SlideShowWindows(1).View.Slide.SlideIndex

但这仅适用于幻灯片放映

或者

使用下面的代码..我不确定,但它可能会有所帮助

if (Globals.ThisAddIn.Application.Active == MsoTriState.msoTrue &&
            Globals.ThisAddIn.Application.ActiveWindow.Panes[2].Active == MsoTriState.msoTrue)
        {
           bla bla
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM