Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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# 识别C中的活动幻灯片#_C#_.net_Powerpoint_Office Interop - Fatal编程技术网

C# 识别C中的活动幻灯片#

C# 识别C中的活动幻灯片#,c#,.net,powerpoint,office-interop,C#,.net,Powerpoint,Office Interop,我想知道用户在PowerPoint(版本而非演示文稿)中查看的当前幻灯片是哪一张。 我在var new Index=Application.ActiveWindow.View.Slide.SlideIndex中使用了一个SlideChange事件 问题在于左侧缩略图面板上的光标不在幻灯片上,而是在两张幻灯片之间。在这种情况下,我有一个错误视图(未知成员):请求无效。当前没有幻灯片。这是正常的,因为没有指向的视图。 不幸的是,在这种情况下也会引发SlideChange事件 我想忽略没有幻灯片的情况

我想知道用户在PowerPoint(版本而非演示文稿)中查看的当前幻灯片是哪一张。 我在
var new Index=Application.ActiveWindow.View.Slide.SlideIndex
中使用了一个
SlideChange事件

问题在于左侧缩略图面板上的光标不在幻灯片上,而是在两张幻灯片之间。在这种情况下,我有一个错误视图(未知成员):请求无效。当前没有幻灯片。这是正常的,因为没有指向的视图。 不幸的是,在这种情况下也会引发SlideChange事件

我想忽略没有幻灯片的情况。但是我找不到任何表示它的属性,所以我可以执行类似于
if(Application.ActiveWindow…!=…){doThis}
的操作


我发现的唯一(不好的)方法是制作一个try/catch(但它会减慢应用程序的速度,在每一张新幻灯片上都会出现一个例外)。你有什么办法解决我的问题吗?

下面的代码可以找到当前正在观看的幻灯片

SlideShowWindows(1).视图.幻灯片.幻灯片索引

但这只适用于幻灯片放映

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

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

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

var slide = Application.ActiveWindow.View.Slide