2012-07-25 91 views
2

我看到很多關於如何將幻燈片從幻燈片演示文稿導出到圖像中的提示和技巧,但這不是我的追求。 相反,我試圖將單個幻燈片中的所有「非開放格式」圖像類型進行轉換,並用它們的友好等價物替換它們(就地)。 這大部分來自谷歌Docs不理解.emf和.wmf格式(爲什麼?然後開源軟件實際上支持它?),並且由於手動將圖形導出爲圖像文件並將其重新插入到演示文稿中,非常複雜的過程,我想知道是否有人找到了一個很好的方法來做到這一點。將PowerPoint中的內部圖像轉換爲一種格式

所以,總結:將powerpoint演示文稿中的emf和wmf文件升級到png或jpg格式。 作爲一個方面說明,我可以打開這些文件作爲一個zip文件,並看到有問題的文件只是在\ ppt \媒體,但只是更換文件的結果在Powerpoint只是刪除以前引用的圖像文件,並抱怨說可能會發生什麼是錯的。

+0

.wmf = windows圖元文件。它有點像PDF,它是一個定義圖像的腳本,而不僅僅是一個像素/顏色列表。 – 2012-07-25 20:47:57

回答

1

對於每個「不友好」的圖片,複製並粘貼爲PNG(或JPG或任何你想要的),然後刪除原件。

簡單的例子:

Sub ConvertShapeToPNG() 
    Dim oSh As Shape 
    Set oSh = ActiveWindow.Selection.ShapeRange(1) 
    oSh.Copy 
    ActiveWindow.Selection.SlideRange.Shapes.PasteSpecial ppPastePNG 
    oSh.Delete 
End Sub 

在實踐中,假設你想這樣做集體,而不是手動一次一個,你需要決定圖片是否是「友好」與否的一種方式(實際上是否是一張圖片)。

您可以先檢查oSh.Type = msoPicture(或其他幾種可能的類型之一)。如果它是一張圖片,它是否已經是光柵格式或「不友好」的格式?嘗試取消組合該形狀的副本。如果嘗試引發錯誤,則它已經是柵格;如果沒有錯誤,請刪除生成的未分組形狀/形狀範圍和原始形狀的副本。

複製/粘貼爲PNG/etc後,您需要選取原始形狀的x/y位置,將其應用於新PNG形狀,並可能將新形狀移動到原始z形狀-訂購。

+0

這聽起來可行。真的,需要被替換的唯一對象似乎是emf或wmf的類型。由於我現在處於機器之間,所以我無法測試代碼,找出爲什麼根據它們的對象屬性輸入這些代碼。 – Tsaukpaetra 2012-07-27 07:24:10

+0

理想情況下,圖像的一切應該保留(也許不透明,我聽說它會導致問題)。因此,添加一些部分來收集相關的位置和大小數據可能會完成此腳本,以及輕鬆遍歷整個演示文稿的方法... – Tsaukpaetra 2012-07-27 07:25:22

+0

我有類似的問題。粘貼到Powerpoint中的圖像是TIFF,使得.pptx文件大小應該是10倍。我使用了這個代碼,它工作。唯一的問題是它不會將圖像粘貼回相同的位置,所以您必須重新定位圖像。我想這可以通過在粘貼操作之前存儲圖像座標,然後將新粘貼的新PNG移動到這些座標來解決。 – 2017-09-06 16:18:16

相關問題