在 PowerPoint 中更新图表链接时禁止显示警告对话框
Suppress warning dialog when updating chart links in PowerPoint
我正在开发一个宏,以自动更新演示文稿中来自其源 Excel 工作簿的所有 linked 图表。我的问题是,当找不到 linked 工作簿时,执行 LinkFormat.Update
方法会生成标准的 "The linked file is not available...." 对话框。这可能导致用户在更新演示文稿时不得不关闭对话框数十次甚至数百次。
在更新 linked 图表时,是否有任何方法可以禁止显示此对话框,直接或通过在尝试更新之前验证 link 来源?该操作不会产生错误,因此不会被捕获。我正在使用 Chart.ChartData.IsLinked
检查并过滤掉根本没有 link 的图表,但我找不到任何类似的 属性 或方法可以让我检查执行 LinkFormat.Update
之前现有 link 的状态。我希望将 Application.DisplayAlerts
设置为 ppAlertsNone
会起作用,但 ppAlertsNone
已经是默认值,手动设置它没有任何效果。
链接的形状将是 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
我正在开发一个宏,以自动更新演示文稿中来自其源 Excel 工作簿的所有 linked 图表。我的问题是,当找不到 linked 工作簿时,执行 LinkFormat.Update
方法会生成标准的 "The linked file is not available...." 对话框。这可能导致用户在更新演示文稿时不得不关闭对话框数十次甚至数百次。
在更新 linked 图表时,是否有任何方法可以禁止显示此对话框,直接或通过在尝试更新之前验证 link 来源?该操作不会产生错误,因此不会被捕获。我正在使用 Chart.ChartData.IsLinked
检查并过滤掉根本没有 link 的图表,但我找不到任何类似的 属性 或方法可以让我检查执行 LinkFormat.Update
之前现有 link 的状态。我希望将 Application.DisplayAlerts
设置为 ppAlertsNone
会起作用,但 ppAlertsNone
已经是默认值,手动设置它没有任何效果。
链接的形状将是 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