我在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:無效的請求。剪貼板爲空或包含可能未粘貼的數據。
任何想法,爲什麼會發生這種情況?