真的不確定要將其置於何處。隨意將其移動到正確的位置。我的問題與編程無關,但是我在嵌入幻燈片中的這些「工作表對象」中擁有大量的功能點。一些似乎是來自Excel的圖形以及Visio的其他圖表類型項目。我需要將所有這些「工作表對象」轉換爲幻燈片中的圖像。將所有「工作表對象」轉換爲Powerpoint中的圖像
我現在的過程是複製對象>粘貼爲圖像>移動到正確的位置>刪除「工作表對象」。這是一個非常耗時和乏味的過程。有沒有我可以編寫的宏或可以自動轉換所有這些對象的東西?我試着用搜索引擎,並至今沒有運氣
真的不確定要將其置於何處。隨意將其移動到正確的位置。我的問題與編程無關,但是我在嵌入幻燈片中的這些「工作表對象」中擁有大量的功能點。一些似乎是來自Excel的圖形以及Visio的其他圖表類型項目。我需要將所有這些「工作表對象」轉換爲幻燈片中的圖像。將所有「工作表對象」轉換爲Powerpoint中的圖像
我現在的過程是複製對象>粘貼爲圖像>移動到正確的位置>刪除「工作表對象」。這是一個非常耗時和乏味的過程。有沒有我可以編寫的宏或可以自動轉換所有這些對象的東西?我試着用搜索引擎,並至今沒有運氣
這應該讓你開始:
Sub ConvertAllShapesToPic()
Dim oSl As Slide
Dim oSh As Shape
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
' modify the following depending on what you want to
' convert
Select Case oSh.Type
Case msoChart, msoEmbeddedOLEObject, msoLinkedOLEObject
ConvertShapeToPic oSh
Case Else
End Select
Next
Next
End Sub
Sub ConvertShapeToPic(ByRef oSh As Shape)
Dim oNewSh As Shape
Dim oSl As Slide
Set oSl = oSh.Parent
oSh.Copy
Set oNewSh = oSl.Shapes.PasteSpecial(ppPasteEnhancedMetafile)(1)
With oNewSh
.Left = oSh.Left
.Top = oSh.Top
Do
.ZOrder (msoSendBackward)
Loop Until .ZOrderPosition = .ZOrderPosition
End With
oSh.Delete
End Sub
,如果你不想寫一個宏的其他快捷的替代是削減對象(CTRL + X),然後粘貼它作爲img(Ctrl + v)(我們可以使用粘貼特殊選擇圖像格式或當我們做一個粘貼(Ctrl + v)MS電源點將提示與選項粘貼,然後選擇圖像)。這樣我們不需要將圖像保存到驅動器上的位置,然後將其插回到幻燈片中。剪切和粘貼將在同一張幻燈片上工作。
這就是我所要做的,但是對於很多對象來說,擁有長時間的力量,宏就是要走的路 – Ronnie
史蒂夫,對你很有好感,這真是太棒了。我從來沒有玩過VB甚至宏,但我在幾分鐘內就知道了。代碼片段效果很好。這一定會爲我節省很多時間 – Ronnie
很高興幫助。另一件我早先忘記提及的...這個版本給你EMFs(可以被分組和編輯)。如果您不希望它們可編輯,則可能需要更改該參數,以便粘貼PNG。 –