2016-01-22 114 views
1

我想使用vba將表格從excel粘貼到powerpoint。 我使用的是PowerPoint 2007版。 我能夠成功粘貼ppEnhancedmeta文件。 但粘貼到ppPasteDefault時出現問題。 **提示錯誤「形狀(未知成員):無效的請求剪貼板爲空或包含可能不被粘貼在這裏**如何將excel表格從excel粘貼到powerpoint 2007默認使用vba

Sub excel_to_powerpoint()  
Dim PPApp As PowerPoint.Application 
Dim PPPres As PowerPoint.Presentation 
Dim PPSlide As PowerPoint.Slide 
Set PPApp = New PowerPoint.Application 
PPApp.Visible = True 
PPApp.Activate 
Set PPPres = PPApp.Presentations.Add 
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank) 
Sheet2.Range("A1:C5").Copy 
For i = 1 To 50000: DoEvents: Next 
PPSlide.Shapes.PasteSpecial ppPasteDefault 
Set myshape = PPSlide.Shapes(PPSlide.Shapes.Count) 
myshape.Left = 50 
myshape.Top = 50 
Application.CutCopyMode = False 
End Sub 

有人有我在哪裏做錯了任何想法 感謝

數據。

回答

3

我看着辦吧。 我不知道問題出現在哪裏。 但是,這爲我工作的解決方案是replce PPSlide.Shapes.PasteSpecial ppPasteDefaultPPApp.ActiveWindow.View.PasteSpecial DataType:=ppPasteDefault

感謝

0

嘗試

PPSlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse 

而不是

PPSlide.Shapes.PasteSpecial ppPasteDefault 

這適用於我在MS Office 2010上,但我沒有2007年,因爲你這樣做可能無法正常工作。

發現這個代碼here

希望它可以幫助

+0

嗨, @ Mr.Burns:感謝烏拉圭回合答覆。 此代碼粘貼表格,但編輯不像簡單表格那麼簡單。用於編輯的方法不太好。我們需要雙擊表n,然後編輯n也會像在Excel表中一樣打開表格。 'PPSlide.Shapes.PasteSpecial DataType:= ppPasteOLEObject,Link:= msoFalse' 我想手動粘貼表格。 謝謝。 – Gazal

+0

嗨, 請幫幫我。 我嘗試了很多東西。沒有工作:( 謝謝 – Gazal

+0

只是爲了澄清,你想代碼粘貼到PowerPoint中的表,所以它是空白的,所以仍然包含您輸入的信息? –