我正在制作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
任何人都可以帮我解决这个问题吗?我非常感激。
答案 0 :(得分: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子编码到程序中时,使用第二种方法,它将自动建议有效的幻灯片I.E. Intro,Bios,OSBegin,InitialSetup,Login或Desktop。