从另一张幻灯片复制和粘贴后定位 Powerpoint table

Positioning a Powerpoint table after copy and paste from another slide

我遇到了一个让我难过的问题。在我从 PPTX 文件复制 table 并将其粘贴到另一个文件并尝试重新定位后,它失败了。之后的两个消息框不起作用

这是代码,在此先致谢

Option Private Module


    ' Tables

Sub InsertTable(n As Integer)

    Dim CurWindow As DocumentWindow
    Dim SourceWindow As DocumentWindow
    Dim LoadFrom As String
    Dim LoadImage As Shapes
    
    LoadFrom = "Tables.pptx"
     
    'disable screen updating
    Set appObject = New cScreenUpdating
    appObject.ScreenUpdating = False
    
''    On Error GoTo Err_handler
    
        With Application.ActiveWindow
                If Not (.ViewType = ppViewNormal Or .ViewType = ppViewSlide) Then _
                         Application.ActiveWindow.ViewType = ppViewNormal
                If .ActivePane.ViewType <> ppViewSlide Then .Panes(2).Activate
        End With
        
    Set CurWindow = Application.ActiveWindow
    
    'load the library and copy the slide
    LoadLibrary LoadFrom
    LoadDiagram = ActivePresentation.Slides(n).Shapes.Paste(1)
    With ActiveWindow.Selection
        .Left = 335
        .Top = 370
    End With

     If ActiveWindow.Selection.Type = ppSelectionShapes Then MsgBox "Shapes"
    
     If ActiveWindow.Selection.Type = msoTable Then MsgBox "Tables"
    
ExitMe:
    On Error Resume Next
    
    SourceWindow.Close
    
    Set CurWindow = Nothing
    Set SourceWindow = Nothing
''    RefreshWindow
    
    'enable screen updating
    ScreenUpdating = True

    Exit Sub
    
Err_handler:
    MsgBox "Switch to Normal View.", vbInformation + vbOKOnly, strAppName
    glbErr = True
    Resume Err_Resume
    
Err_Resume:
    On Error Resume Next
    GoTo ExitMe

End Sub

(经过大量编辑)这有效,根据需要进行调整

Sub InsertTable()

  Dim SourceFile As Presentation

  Set SourceFile = Application.Presentations.Open("Tables.pptx", True, False, msoFalse)

  SourceFile.Slides(1).Shapes("Table").Copy

  ActivePresentation.Slides(1).Shapes.Paste.Select
    
  With ActiveWindow.Selection.ShapeRange    
    .Left = 0
    .Top = 0
  End With

End Sub