お助け頂きたいですm(_ _)m
VBAでパワーポイントの指定スライドをアクティブにしたいです。
例えば、5ページ中の、3ページ目をアクティブにする、という意味です。
基礎の基礎で簡単に見えるのですが、どうしても動いてくれません。
どこが問題なのか分からず、解決法をご教示頂けるととても助かります。
※以下のコードの最下段の「PPTPlz.Slides(2).Select」が機能しません・・。
ググると出てくる↓↓の二つも、「コンパイルエラー 拡張子が不正です」とエラーメッセージが出て、そもそも動かなくなります。
ActiveWindow.View.GotoSlide Index:=2
ActivePresentation.Slides(2).Select
【VBAコード】
Sub PPTのスライドを移動したい() '変数定義 Dim objPpt As Object Dim PPTPlz As Object 'PowerPointプレゼン Dim objTitle As Object Dim pptSld As Object 'PowerPointスライド Dim PPTW As Single Dim PPTH As Single Dim i As Variant, j As Variant On Error Resume Next '動作を非表示にする With Application .ScreenUpdating = False .EnableEvents = False .DisplayAlerts = False .Calculation = xlCalculationManual End With strPPTFullPath = "保存する際のPPT名です.pptx" Set objPpt = CreateObject("PowerPoint.Application") objPpt.Visible = True objPpt.Presentations.Add Set objFile = objPpt.ActivePresentation With PPTPlz.PageSetup PPTH = .SlideHeight PPTW = .SlideWidth End With '別途Excelファイルがあり、「PPT」というシートの情報を参照してグラフを貼っています Worksheets("PPT").Activate 'ExcelのD列をカウント→一番下の行まで処理を繰り返す For i = 3 To Worksheets("PPT").Range("D3").End(xlDown).Row Dim sh As String sh = Sheets("PPT").Range("F" & i) Worksheets(sh).Activate 'グラフオブジェクト選択 ActiveSheet.ChartObjects(Worksheets("PPT").Range("D" & i)).Activate Worksheets(sh).ChartObjects(Worksheets("PPT").Range("D" & i)).Copy 'PowerPointスライド追加 Set PPTPlz = objFile.Slides.Add(Index:=i - 2, Layout:=12) '貼り付け PPTPlz.Shapes.PasteSpecial DataType:=6 PPTPlz.Shapes.PasteSpecial MsoTriState:=False With PPTPlz.Shapes(1) .Top = 60 .Left = 0 End With Next i 'スライド移動 PPTPlz.Slides(3).Select End Sub
以上、何卒、よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー