PowerPoint中的LinkFormat对象
生活随笔
收集整理的這篇文章主要介紹了
PowerPoint中的LinkFormat对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
幾天前有個朋友(simon)來信問“如果在PPT里邊插入影音文件,如何在保存文件的時候將影音文件也保存出來?”
呵呵,以前我也沒處理過,通過測試,發現問題的關鍵是如何知道影音文件的路徑,通過分析,發現其實并不是很難,主要是以前沒有注意LinkFormat對象,其實在MSDN中有如下的范例:
????If?.Type?=?msoLinkedOLEObject?Then
????????With?.LinkFormat
????????????.SourceFullName?=?"c:\my?documents\wordtest.doc"
????????????.AutoUpdate?=?ppUpdateOptionAutomatic
????????End?With
????End?If
End?With
其中對SourceFullName 屬性解釋如下:
應用于示例特性返回或設置鏈接 OLE 對象的源文件的名稱或路徑。可讀寫。String 類型。
使用如下的代碼測試了一下:
'<summary>
????'Test過程就是在在幻燈片里邊插入一個空白幻燈片
????'然后在幻燈片中插入一個影片文件,然后查看Shape對象的LinkFormat對象的FullName屬性就行了
????'至于保存的時候如何處理,這個簡單,你寫一段宏就可以了
????'剩下的自己發揮吧
'</summary>
Sub?InsertAvi()
????ActiveWindow.Selection.SlideRange.Shapes.AddMediaObject(FileName:="F:\clock.avi",?Left:=239.625,?Top:=149.625).Select
????ActiveWindow.Selection.Unselect
End?Sub
Sub?ShowPath()
????If?Application.ActivePresentation.Slides(1).Shapes(1).MediaType?=?ppMediaTypeMovie?Then
????????'關鍵是你理解一下LinkFormat對象
????????'LinkFormat.SourceFullName就是文件的保存路徑
????????MsgBox?Application.ActivePresentation.Slides(1).Shapes(1).LinkFormat.SourceFullName
????End?If
End?Sub
這些是在VBA里邊測試的,通過了,我想最主要的就是這個LinkFormat.SourceFullName這句話了,其實simon的想法很好,因為如果PPT中的影音文件如果不保存的話,如果放到別的機器上,就不能正常播放了,AVI就變成了一個圖片了,呵呵,所以還是有用的。
我想余下的最重要的就是Update這個方法了,如下:
For Each sld In ActivePresentation.Slides
??? For Each sh In sld.Shapes
??????? If sh.Type = msoLinkedOLEObject Then
??????????? sh.LinkFormat.Update
??????? End If
??? Next
Next
通過這個修改絕對路徑為相對路徑,應該就不是問題了。
總結
以上是生活随笔為你收集整理的PowerPoint中的LinkFormat对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分组合计且排序和显示名称
- 下一篇: Snake.Net