簡體   English   中英

從Excel粘貼到PowerPoint中的VBA(和VB6)問題

[英]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 = 2ppPasteShape = 11ppPasteJPG = 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

或選擇:

PpPasteDataType的成員

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM