2016-03-14 91 views
0

這個讓我很困惑。我已經編寫了一個在Excel中創建數據透視表的代碼。然後它創建一個新的PowerPoint並調整格式。最後,我希望從excel中獲取數據透視表,將其複製並粘貼到PowerPoint文件中。我想能夠編輯它,所以位圖,圖片,GIF等無法正常工作。當使用vba粘貼到Excel的powerPoint中時,只有PasteMetafilePicture能夠運行

一切工作正常,直到我將數據透視表粘貼到Excel中。此粘貼圖片插入PowerPoint中,沒有任何問題:

pt.TableRange1.Copy 
newPPT.ActivePresentation.Slides(1).Shapes.PasteSpecial (ppPasteMetafilePicture) 

其中PT是透視表,並newPPT是PowerPoint.Application

然而,這是行不通的。

pt.TableRange1.Copy 
newPPT.ActivePresentation.Slides(1).Shapes.PasteSpecial (ppPasteHTML) 

根本沒有粘貼。我嘗試縮小,移動所有對象,因爲它可能粘貼在所有東西后面,但沒有運氣。任何想法爲什麼發生這種情況?

此外,當代碼運行後從剪貼板粘貼時,無需重新複製數據透視表,它不會粘貼任何問題。

感謝

回答

1

這工作:

pt.TableRange1.Copy 
newPPT.ActiveWindow.View.PasteSpecial ppPasteHTML 

我不知道爲什麼它不使用形狀粘貼特殊的,但是這是一個解決辦法。

任何人都知道爲什麼是這樣的情況?

+0

不,但這是一個很好的解決方法。或者,您可以嘗試使用'CommandBars.ExecuteMSO'方法,根據我的經驗,該方法對於粘貼到PPT中更加可靠。 http://stackoverflow.com/a/24644730/1467082 –