2016-10-28 8 views
0

質問:リセットボタンが当たったときにスライドが元の状態に戻るように、PowerPointスライドをVBAに保存するにはどうすればよいですか?リセットボタンを使用してスライドを古い状態に設定する

Public default_state As Slide 

Sub abc() 
default_state = ActivePresentation.Slides(1) 
... 
wonderful code 
... 
End Sub 

Sub xyz() 
ActivePresentation.Slides(1) = default_state 
End Sub 

をここでリセットボタンを押したときのXYZサブが実行されています。私は試してみました何

。私は、含まれている割り当てがサポートされていないことをかなり早く学びました。手始めにこのような

+1

は、スライドのコピーを作成しますか? –

+0

すべてが1つのスライドとして留まる必要があります。基本的に、スライドはExcelファイルから情報を取得します。リセットボタンを押して、データをExcelから取得する前にスライドを元の状態に戻します。スライドのコピーを作成してこのスライドを設定することを提案している場合は、これを行う方法がわからないと言います。 – jonranken

+0

つまり、プログラムで行う必要があります。 – jonranken

答えて

0

何か:

Sub MakeDefaultSlide() 

    Dim oDefaultSlide As Slide 

    ' Dupe the slide 
    Set oDefaultSlide = ActivePresentation.Slides(1).Duplicate(1) 

    ' Tag the presentation with the slide's index so we can find it later 
    ' then hide the slide 
    With oDefaultSlide 
     ActivePresentation.Tags.Add "DefaultSlideIndex", CStr(oDefaultSlide.SlideIndex) 
     .SlideShowTransition.Hidden = True 
    End With 
    ' Note that you could also tag the presentation with the original slide's 
    ' SlideIndex in case you're not working with slide 1 

End Sub 

Sub RestoreDefaultSlide() 

    With ActivePresentation 
     'Delete the modified slide 
     .Slides(1).Delete 

     ' And move the default slide back into its place 
     With .Slides(CLng(.Tags("DefaultSlideIndex")) - 1) 
      .MoveTo (1) 
      .SlideShowTransition.Hidden = False 
     End With 

    End With 

End Sub 
関連する問題