在PowerPoint中更新图表链接时禁止警告对话框

时间:2015-01-28 17:25:03

标签: vba powerpoint powerpoint-vba

我正在使用宏来自动更新源Excel工作簿中演示文稿中的所有链接图表。我的问题是,当找不到链接的工作簿时,执行LinkFormat.Update方法会产生标准"链接的文件不可用...."对话。这可能导致用户在更新演示文稿时不得不关闭对话框数十次甚至数百次。

有没有办法在更新链接图表时直接或通过在尝试更新之前验证链接源来禁止此对话框?该操作不会产生错误,因此无法捕获。我使用Chart.ChartData.IsLinked来检查并过滤掉根本没有关联的图表,但我找不到任何类似的属性或方法可以让我检查状态执行LinkFormat.Update之前的现有链接。我希望将Application.DisplayAlerts设置为ppAlertsNone会有效,但ppAlertsNone已经是默认值,手动设置无效。

1 个答案:

答案 0 :(得分:1)

链接形状的类型为msoLinkedOLEObject或msoLinkedPicture(您可能并不关心)。链接形状的.LinkFormat.SourceFullname将为您提供链接文件的完整路径,因此这样的事情可以让您前进。对文件存在的测试过于简单,但它是一个起点:

For Each oSh In ActivePresentation.Slides(1).Shapes
    If oSh.Type = msoLinkedOLEObject Then
        If Len(Dir$(oSh.LinkFormat.SourceFullName)) > 0 Then
            ' do your thing
        End If
    End If
Next