0
次のコードがありますが、Excelでリストをループしてリスト内の各pptファイルを開き、新しいpptファイルにコピーするように修正しようとしました。しかし、ハングアップしてループ中にエラーが発生しています。Excel VBAでPPTファイルをコピーできない
Sub tmp()
'Set a VBE reference to Microsoft PowerPoint Object Library
On Error GoTo ErrorHandler
Dim PPApp As PowerPoint.Application
Dim i, j As Integer
Dim pres1, new_pres As PowerPoint.Presentation
Dim oslide, s, oSld As PowerPoint.Slide
Dim oShape, oSh, oshp As PowerPoint.Shape
Dim wb As Workbook
Dim list As Worksheet
Set PPApp = CreateObject("Powerpoint.Application")
PPApp.Visible = True
Set new_pres = PPApp.Presentations.Add
Set wb = ThisWorkbook
Set list = wb.Worksheets("Powerpoint File List")
LastRow = list.Range("A" & Rows.Count).End(xlUp).Row
new_pres.PageSetup.SlideSize = ppSlideSizeOnScreen
' this is not working
For i = 1 To 1 ' LastRow
filepath = list.Range("A" & i).Value
Set pres1 = PPApp.Presentations.Open(filepath)
For j = 1 To pres1.Slides.Count
pres1.Slides.shapes(j).Copy
new_pres.Slides.Paste
new_pres.Application.CommandBars.ExecuteMso "PasteSourceFormatting")
Next j
pres1.Close
Set pres1 = Nothing
Next I
NormalExit:
Exit Sub
ErrorHandler:
Call MsgBox("Error:" & vbCrLf & Err.Number & vbCrLf & Err.Description, _
vbOKOnly, "Error inserting files")
Resume NormalExit
End Sub
上にあるプレゼンテーションのすべてを持っている新しいマスターパワーポイントを持っています。 – braX
jループを次のように変更した場合:pres1.Slides(j).Copy new_pres.Slides.Paste new_pres.Application.CommandBars.ExecuteMso "PasteSourceFormatting")次に、パワーポイントの最初のページを何回コピーしますコピーされているパワーポイントにページがあります。 –
「コピーする」とはどういう意味ですか?単一のファイルについては、何が起こると予想されますか? – QHarr