[英]VBA (and VB6) issue in pasting from Excel to PowerPoint
我正在使用此代碼將Excel圖表導出到PowerPoint
Sub ChartsToPresentation()
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim PresentationFileName As Variant
Dim SlideCount As Long
Dim iCht As Integer
Application.CutCopyMode = False
Set PPApp = GetObject(, "Powerpoint.Application.16")
Set PPSlide = PPApp.ActiveWindow.View.Slide
nv = PPApp.ActiveWindow.Selection.SlideRange.SlideIndex
ActiveChart.ChartArea.Select
Selection.Copy
ggg: Set shp = PPApp.ActivePresentation.Slides(nv).Shapes.PasteSpecial(DataType:=0)
If Err Then GoTo ggg
Application.CutCopyMode = False
End Sub
當我在循環中為許多不同的圖表調用sub時, 通常會收到錯誤消息“剪貼板為空或包含可能無法粘貼的數據” 。 它看起來像是復制和粘貼之間的延遲問題。
我正在使用Win10 Office 2016 64b
有解決方法嗎?
我試圖用VB6做到這一點,但看起來還是一樣的問題
使用ppPasteEnhancedMetafile = 2
或ppPasteShape = 11
或ppPasteJPG = 5
作為圖表的數據類型!
清理和改進的代碼:
Sub ChartsToPresentation()
Dim PPApp As PowerPoint.Application
Dim PPSlide As PowerPoint.Slide
Application.CutCopyMode = False
Set PPApp = GetObject(, "Powerpoint.Application")
Set PPSlide = PPApp.ActiveWindow.View.Slide
ActiveChart.ChartArea.Copy
DoEvents
PPSlide.Shapes.PasteSpecial DataType:=ppPasteShape
Application.CutCopyMode = False
End Sub
或選擇:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.