PPT 2010插入图片无法获取原始文件名

时间:2013-01-01 03:05:23

标签: vba powerpoint powerpoint-vba

在MS-Powerpoint 2010中,插入名称为ABC.gif的图像。

当我使用代码阅读.pptx文件时,我无法获取原始图片的文件名ABC.gif,而是获得“Image1.gif

有人可以告诉我如何获取原始图片的fileName ABC.gif

使用Microsoft.Office.Interop.PowerPoint代码运行。

1 个答案:

答案 0 :(得分:2)

不确定您使用的是VB.Net还是C#,因此我将使用VBA代码进行解释。您可以轻松地将其调整为您的代码。

要获取文件名,您必须确保不仅仅是“插入”图像,而是“插入并链接”请参阅下面的屏幕截图。

enter image description here

请记住MS-PP会将图片重命名为“图片1,图片2 ”等,在这种情况下以及,但随后您可以随时使用LinkFormat.SourceFullName获得完整的文件名+路径。一旦你有了,你可以轻松检索文件名。

参见此示例

Option Explicit

Sub Sample()
    Dim img As Shape

    For Each img In ActivePresentation.Slides(1).Shapes
        '~~> Type is 11 when you insert and link an image
        If img.Type = msoLinkedPicture Then
            Debug.Print img.LinkFormat.SourceFullName
            Debug.Print img.Name
        End If
    Next
End Sub

<强> SCREENSHOT

enter image description here