我在VBA中创建了一个代码,用于将图形从Excel中复制到现有的PowerPoint文件,这些图形被添加到现有幻灯片中。在Excel中,我有一张表格,指出哪张幻灯片和每个形状的位置(我命名所有形状,以便我可以通过名称引用它们)。我的代码循环遍历这个表格以获得形状并将其粘贴到指定的幻灯片中。这是我的代码:将Excel中的图形粘贴/复制到PowerPoint中的错误VBA
Dim nombrePic As String, auxi As String, i As Integer
Dim PPT As Object
Dim PPSlide As PowerPoint.Slide
Dim numSlide As Integer, posVertical As Double, posHorizontal As Double
'Abrir PPT
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True
PPT.Presentations.Open "c:\prueba.pptx"
auxi = Sheets("FigurasResumen_RangPD").Cells(2, 5)
i = 2
Do
Sheets("FigurasResumen_RangPD").Shapes(auxi).Copy
'Get paste information about shape
numSlide = Sheets("FigurasResumen_RangPD").Cells(i, 8)
posHorizontal = Sheets("FigurasResumen_RangPD").Cells(i, 9)
posVertical = Sheets("FigurasResumen_RangPD").Cells(i, 10)
PPT.ActiveWindow.View.GotoSlide (numSlide)
PPT.ActiveWindow.View.PasteSpecial DataType:=ppPasteDefault
PPT.ActiveWindow.Selection.ShapeRange.Left = Format(Application.CentimetersToPoints(posHorizontal), "0.00")
PPT.ActiveWindow.Selection.ShapeRange.Top = Format(Application.CentimetersToPoints(posVertical), "0.00")
PPT.ActiveWindow.Selection.ShapeRange.ZOrder msoSendToBack
i = i + 1
auxi = Sheets("FigurasResumen_RangPD").Cells(i, 5)
Loop Until auxi = ""
末次
当我第一次尝试,它做工精细。我创建了一个示例PPT,一切都很顺利。 一旦我改变了使用官方PPT(重量大约为120MB)的路径,它显示以下错误: View.PasteSpecial:无效的请求。剪贴板为空或包含可能未粘贴的数据。
任何想法,为什么会发生这种情况?