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 サブをプロシージャにコーディングするときにこの 2 番目の方法を使用すると、有効なスライド番号 IE Intro、Bios、OSBegin、InitialSetup、Login、または Desktop が自動的に提案されます。

于 2012-09-04T22:56:40.113 に答える