我一直努力讓自己在跳轉到名爲另一個幻燈片的幻燈片上的按鈕。我希望能夠像做activeslide.view.slide(「菜單滑動」)是否可以使用VBA跳轉到特定的PowerPoint幻燈片?
這並不工作,但我認爲這樣的事情應該...任何幫助將是巨大的!
我一直努力讓自己在跳轉到名爲另一個幻燈片的幻燈片上的按鈕。我希望能夠像做activeslide.view.slide(「菜單滑動」)是否可以使用VBA跳轉到特定的PowerPoint幻燈片?
這並不工作,但我認爲這樣的事情應該...任何幫助將是巨大的!
試試這個代碼
功能通過將名稱
Function GetSlideIndex(Slide As String) As Integer
Dim retVal As Integer
retVal = 0
For i = 1 To ActivePresentation.Slides.Count
If ActivePresentation.Slides(i).Name = Slide Then
retVal = i
Exit For
End If
Next
GetSlideIndex = retVal
End Function
這裏使用的CommandButton
導航到幻燈片
Private Sub CommandButton1_Click()
SlideShowWindows(1).View.GotoSlide GetSlideIndex("Slide2"), 1
End Sub
率先拿到幻燈片索引,將需要實際命名您的幻燈片。幻燈片的「.Name」屬性與大綱中的名稱不同並且沒有與其名稱相關聯。我只是這樣說,因爲很多人沒有意識到這一點。您必須通過VBA設置此屬性。如果你不這樣做,你可以得到一些意想不到的結果。幻燈片會將您的幻燈片命名爲「幻燈片」,因此,如果您將幻燈片插入演示文稿的中間位置,則可以使用多張幻燈片並使用相同的名稱。如果你正在尋找一個特別命名的幻燈片,並沒有改名的幻燈片,PowerPoint將返回第一個「幻燈片#」發現你通過幻燈片集使用週期循環什麼。如果您編輯演示文稿並移動幻燈片,這會給您帶來很多麻煩。我建議重新命名,你知道你將要在以後鏈接到任何幻燈片(或寫東西會遍歷整個幻燈片收集和每張幻燈片的「請將.Name」屬性更改其名稱1對象的內容)。
下面是一些代碼來重新命名當前幻燈片
Sub ChangeSlideName()
Dim NewName As String
Dim ActiveSlide As Slide
Set ActiveSlide = ActiveWindow.View.Slide
NewName = InputBox("Enter new slide name for slide " & _
ActiveSlide.SlideIndex, "New Slide Name", ActiveSlide.Name)
If NewName = "" Then
Exit Sub
End If
ActiveSlide.Name = NewName
End Sub
下面是一些代碼來獲取幻燈片的索引號。它的工作方式與其他答案相同,只是更直接一點。
Function GetSlideIndex(SlideName As String)
For Each Slide In ActivePresentation.Slides
If Slide.Name = SlideName Then
GetSlideIndex = Slide.SlideIndex
Exit Function
End If
Next
End Function
這裏是實際上將送你到你的幻燈片
Sub MoveToSlide()
SlideShowWindows(1).View.GotoSlide GetSlideIndex("YourSlideName")
End Sub
編輯補充子:該MoveToSlide子可以添加到鼠標點擊或鼠標懸停於任何物體的動作,不只是命令按鈕。爲此,請選擇要使用的對象,然後轉到插入 - >鏈接 - >操作,然後選擇運行宏。
你可以做到這一點沒有任何VBA,它被稱爲動作/觸發。 – Stan 2011-01-27 16:30:26
當我讀它,會觸發幻燈片上,而不是幻燈片本身上動畫對象唯一的工作。 – Randy 2011-01-27 19:45:23