ActiveX 无法创建对象 powerpont vba

ActiveX can't create object powerpont vba

我正在尝试从 powerpoint 复制第一张幻灯片并将其插入到末尾,但我发现 ActiveX 无法在线创建对象

ActivePresentation.Slides(1).Copy

这是我的完整代码,我还添加了对 Microsoft PowerPoint 库的引用

Option Explicit

Dim myFile, Fileselected As String, Path As String, objPPT As Object
Dim activeSlide As PowerPoint.Slide

Sub Generate_PPTs()

Application.ScreenUpdating = False

Set myFile = Application.FileDialog(msoFileDialogOpen)
With myFile
    .Title = "Choose Template PPT File."
    .AllowMultiSelect = False
If .Show <> -1 Then
    Exit Sub
End If
    Fileselected = .SelectedItems(1)
End With
Path = Fileselected

Set objPPT = CreateObject("PowerPoint.Application")
Set objPPT = objPPT.Presentations.Open(Path)

Debug.Print objPPT.Name

ActivePresentation.Slides(1).Copy
ActivePresentation.Slides.Paste Index:=objPPT.Slides.Count + 1

Set activeSlide = objPPT.Slides(objPPT.Slides.Count)

Application.ScreenUpdating = True
Set objPPT = Nothing

End Sub

尝试编辑下面的代码,我有 ppApp As PowerPoint.ApplicationDim ppPres As PowerPoint.Presentation :

Option Explicit

Dim myFile, Fileselected As String, Path As String, objPPT As Object
Dim ppApp   As PowerPoint.Application
Dim ppPres  As PowerPoint.Presentation

Dim activeSlide As PowerPoint.Slide

Sub Generate_PPTs()

Application.ScreenUpdating = False

Set myFile = Application.FileDialog(msoFileDialogOpen)
With myFile
    .Title = "Choose Template PPT File."
    .AllowMultiSelect = False
If .Show <> -1 Then
    Exit Sub
End If
    Fileselected = .SelectedItems(1)
End With
Path = Fileselected

Dim i As Integer

Set ppApp = New PowerPoint.Application
i = 1

ppApp.Presentations.Open Filename:=Path  ' 'PowerPointFile = "C:\Test.pptx"
Set ppPres = ppApp.Presentations.Item(i)

' for debug
Debug.Print ppPres.Name

ppPres.Slides(1).Copy
ppPres.Slides.Paste Index:=ppPres.Slides.Count + 1

Set activeSlide = ppPres.Slides(ppPres.Slides.Count)

Application.ScreenUpdating = True
Set ppPres = Nothing
Set ppApp = Nothing

End Sub