我正在使用宏来自动更新源Excel工作簿中演示文稿中的所有链接图表。我的问题是,当找不到链接的工作簿时,执行LinkFormat.Update
方法会产生标准"链接的文件不可用...."对话。这可能导致用户在更新演示文稿时不得不关闭对话框数十次甚至数百次。
有没有办法在更新链接图表时直接或通过在尝试更新之前验证链接源来禁止此对话框?该操作不会产生错误,因此无法捕获。我使用Chart.ChartData.IsLinked
来检查并过滤掉根本没有关联的图表,但我找不到任何类似的属性或方法可以让我检查状态执行LinkFormat.Update
之前的现有链接。我希望将Application.DisplayAlerts
设置为ppAlertsNone
会有效,但ppAlertsNone
已经是默认值,手动设置无效。
答案 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