[英]How to read presentationML and place the output on Active slide of powerpoint using c# VSTO
[英]Identify active slide in C#
我想知道哪个是用户在 PowerPoint 中查看的当前幻灯片(在版本中不是演示文稿)。 我使用了一个带有var new Index = Application.ActiveWindow.View.Slide.SlideIndex
的SlideChange 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.