Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
“如何运行宏”;OneInterslide“;或;仅限幻灯片“;在Powerpoint VBA中?_Vba_Powerpoint - Fatal编程技术网

“如何运行宏”;OneInterslide“;或;仅限幻灯片“;在Powerpoint VBA中?

“如何运行宏”;OneInterslide“;或;仅限幻灯片“;在Powerpoint VBA中?,vba,powerpoint,Vba,Powerpoint,是否存在允许在任何时候进入幻灯片或离开幻灯片时运行宏的事件?幻灯片下一页幻灯片或幻灯片上的ShowPageChange 您可以在以下网址找到完整列表: 源代码示例 此示例确定了以下幻灯片的幻灯片位置: SlideshowExtSlide事件 如果下一张幻灯片是第三张幻灯片,则示例将更改 指向笔的指针类型,笔的颜色为红色 Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow) Dim Showpos As Integer

是否存在允许在任何时候进入幻灯片或离开幻灯片时运行宏的事件?

幻灯片下一页幻灯片或幻灯片上的ShowPageChange

您可以在以下网址找到完整列表:

源代码示例


此示例确定了以下幻灯片的幻灯片位置: SlideshowExtSlide事件

如果下一张幻灯片是第三张幻灯片,则示例将更改 指向笔的指针类型,笔的颜色为红色

Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow)

Dim Showpos As Integer

Showpos = Wn.View.CurrentShowPosition + 1


 If Showpos = 3 Then  
     With ActivePresentation.SlideShowSettings.Run.View
        .PointerColor.RGB = RGB(255, 0, 0)
        .PointerType = ppSlideShowPointerPen
     End With
  Else
     With ActivePresentation.SlideShowSettings.Run.View
        .PointerColor.RGB = RGB(0, 0, 0)
        .PointerType = ppSlideShowPointerArrow
     End With
  End If
End Sub

我想补充的是,要使用的事件实际上取决于PowerPoint的版本。 对我来说(2007年第页),下一个事件相当稳定:

Sub OnSlideShowPageChange(ByVal objWindow As SlideShowWindow)
   Debug.Print objWindow.View.Slide.SlideIndex ' you can use this to check which slide invokes the event
End Sub
此代码不需要额外的类结构(PPTEvent)。 但如果您计划使用其他事件,最好将此类的初始化放在OnSlideShowPageChange中

请注意,此代码处理给定任务的第一部分-输入幻灯片。
你可能会问“它的离开怎么样?”。这是相对论的问题。为一张幻灯片输入的内容同时为另一张幻灯片输出。只需使用objWindow.View.Slide.SlideIndex来跟踪当前幻灯片,将其与上一张幻灯片的索引进行比较,然后确定您是否刚刚留下了所需的索引。

这只是为了输入。我不知道是否有关于“离开”的事件,我试图通过在执行窗口中执行此操作来触发它,但似乎不起作用。“我做了什么恶作剧吗?”另一个问题回答