将Powerpoint链接更改为不同的文件夹

时间:2016-02-17 00:31:36

标签: excel-vba powerpoint vba excel

我想将PowerPoint演示文稿图表中的链接转移到另一个文件夹。找到一些代码,但它只选择特定文件来更改链接,而不是文件夹,我无法使用,因为我的PowerPoint链接到两个不同的Excel文件(在同一个文件夹中)。

Sub M1()
Dim sld As Slide
Dim sh As Shape
Dim strNms As String
Dim intI As Integer
Dim strNewPath
Dim ExcelFile
Dim exl As Object
Set exl = CreateObject("Excel.Application")

'Open a dialog box to promt for the new source file.
ExcelFile = exl.Application.GetOpenFilename(, , "Select Excel File")
For Each sld In ActivePresentation.aSlides
    For Each sh In sld.Shapes
        If sh.Type = msoLinkedOLEObject Then
            With sh.LinkFormat
                strNms = .SourceFullName
                intI = InStr(1, strNms, "!")
                strNewPath = ExcelFile & Mid(strNms, intI, Len(strNms) - intI + 1)
                .SourceFullName = strNewPath
            End With
        End If
    Next sh
Next sld
End Sub

1 个答案:

答案 0 :(得分:1)

看看这里的代码:

批量搜索和替换超链接,OLE链接,电影链接和声音链接 http://www.pptfaq.com/FAQ00773_Batch_Search_and_Replace_for_Hyperlinks-_OLE_links-_movie_links_and_sound_links.htm

例如,它会让您替换链接文件的路径(即不同的文件夹名称),但不会更改链接文件的名称。

重要提示:在运行代码之前,您必须将文件重新链接到您尝试重新链接到的文件夹中。如果您更改指向不存在的文件的链接,PPT会对您微笑并说出" OK"但它不会改变任何东西。