Sub Combine_ppt()
Dim parent As PowerPoint.Application
Dim child As PowerPoint.Application
Dim pname, cname As String
pname = "C:\PPT\ParentFile.ppt"
On Error Resume Next
Set parent = CreateObject("PowerPoint.Application")
parent.Presentations.Open pname
On Error GoTo 0
If parent Is Nothing Then
MsgBox "Parent File not Found"
Exit Sub
End If
parent.Visible = True
fld = "C:\PPT\"
cname = Dir(fld & "*Child*.ppt")
Do While cname <> ""
Set child = CreateObject("PowerPoint.Application")
child.Presentations.Open "C:\PPT\" & cname
ccount = child.ActivePresentation.Slides.Count
For i = 1 To ccount
child.ActivePresentation.Slides(i).copy
parent.ActivePresentation.Slides.Paste
Next i
child.Quit
Set child = Nothing
Loop
End Sub
Я пытаюсь скопировать слайды из всех ppt, имеющих слово «ребенок» в их имени файла родительскому ppt. Когда я запускаю код, я вижу, что скопированный слайд вставлен в ту же презентацию вместо родителя, а также код переходит в бесконечный цикл, снова и снова открывая один и тот же дочерний файл и не перемещаясь по другому дочернему файлу в Папка. пожалуйста посоветуй.Скопируйте слайды из нескольких файлов ppt в один файл ppt
Спасибо, что но как насчет получения слайда, вставленного в тот же файл, когда я упомянул Child.copy и Parent .paste, но он вставляется только в Ребенка. – Meesha
ваш код выглядит правильно, вы уверены, что опубликовали свой текущий код? –
Я пропустил добавление «ActivePresentation» в parent.ActivePresentation.slides.paste, и он работает, но как-то все еще вставляется в один и тот же файл. Кроме того, Close не работает, поэтому я использую .Quit. – Meesha