日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PowerPoint中的LinkFormat对象

發布時間:2025/6/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerPoint中的LinkFormat对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幾天前有個朋友(simon)來信問“如果在PPT里邊插入影音文件,如何在保存文件的時候將影音文件也保存出來?”

呵呵,以前我也沒處理過,通過測試,發現問題的關鍵是如何知道影音文件的路徑,通過分析,發現其實并不是很難,主要是以前沒有注意LinkFormat對象,其實在MSDN中有如下的范例:

With?ActivePresentation.Slides(1).Shapes(1)
????
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对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。