VBA 用于更新 Powerpoint 链接

VBA for updating Powerpoint Links

我有一些 vba 代码可以在 powerpoint 中更新 links。对于一些 links 它完美地工作,而对于一些它只是不想更新。
我确实注意到,如果 links 是 excel 工作表,它会更新,但如果 link 是 excel 中的图表,它不想更新:

Sub ul()
Dim pptSlide As Slide
Dim pptShape As Shape

Dim oldString As String
oldString = "C:\Users\username\Downloads\dir\Mar Apr 2014\"
Dim newString As String
newString = "C:\Users\newusername\Downloads\dir\Jan Feb 2015\"

For Each pptSlide In ActivePresentation.Slides
    For Each pptShape In pptSlide.Shapes
        If pptShape.Type = msoLinkedOLEObject Or pptShape.Type = msoLinkedPicture Then
            With pptShape.LinkFormat
                If InStr(1, UCase(.SourceFullName), UCase(oldString)) Then
                    .SourceFullName = Replace(.SourceFullName, oldString, newString)
                End If
            End With
        End If
    DoEvents
    Next pptShape
DoEvents
Next pptSlide
End Sub

将不胜感激。

尝试将您的 If 查询扩展为

If pptShape.Type = msoLinkedOLEObject Or 
   pptShape.Type = msoLinkedPicture Or pptShape.Type = msoChart Then