2

我正在制作一个 PowerPoint,我不断地使用这个命令来跳转幻灯片:

With SlideShowWindows(1)
    .View.GoToSlide (.Presentation.Slides(x).SlideIndex)
End With

我想通过编写一个可以缩短它的模块来缩短它,但由于我是一个新手并且真的不知道如何,我真的需要帮助。这是我编写的“SlideControl”模块:

Public Intro As String, BIOS As String, OSBegin As String, InitialSetup As String, LogIn As String, Desktop As String

Public Sub GoToSlide(Slide)

Intro = SlideShowWindows(1).Presentation.Slides(1).SlideIndex
BIOS = SlideShowWindows(1).Presentation.Slides(2).SlideIndex
OSBegin = SlideShowWindows(1).Presentation.Slides(5).SlideIndex
InitialSetup = SlideShowWindows(1).Presentation.Slides(6).SlideIndex
LogIn = SlideShowWindows(1).Presentation.Slides(9).SlideIndex
Desktop = SlideShowWindows(1).Presentation.Slides(11).SlideIndex

SlideShowWindows(1).View.GoToSlide (Slide)

End Sub

那是整个模块,最后没有别的了。当然,我是编码新手,所以如果代码看起来不对,请帮助我纠正它。我想我应该可以使用以下命令进入介绍幻灯片:

GoToSlide (Intro)

然后当我调用它时出现此错误:

Compile error:

Only comments may appear after End Sub, End Function, or End Property

谁能帮我解决这个问题?我会非常感激。

4

1 回答 1

1

你真的很亲近。

根据您显示的内容,您只需要确保列出以下内容:

Intro = SlideShowWindows(1).Presentation.Slides(1).SlideIndex
BIOS = SlideShowWindows(1).Presentation.Slides(2).SlideIndex
OSBegin = SlideShowWindows(1).Presentation.Slides(5).SlideIndex
InitialSetup = SlideShowWindows(1).Presentation.Slides(6).SlideIndex
LogIn = SlideShowWindows(1).Presentation.Slides(9).SlideIndex
Desktop = SlideShowWindows(1).Presentation.Slides(11).SlideIndex

在需要调用值之前运行的过程中。

或者,由于您基本上是对值进行硬编码,我认为您可以通过枚举合理地完成此操作。请注意,枚举必须在任何方法之前位于模块的顶部。

Public Enum slideNum
    Intro = 1
    Bios = 2
    OSBegin = 5
    InitialSetup = 6
    Login = 9
    Desktop = 11
End Enum
Public Sub GoToSlide(slide As slideNum)
    SlideShowWindows(1).View.GoToSlide (slide)
End Sub
Sub example()
    GoToslide(Login)
End sub

当您将 GoTo Slide 子程序编码到程序中时,使用第二种方法,它会自动建议有效的幻灯片编号 IE Intro、Bios、OSBegin、InitialSetup、Login 或 Desktop。

于 2012-09-04T22:56:40.113 回答