У меня есть файл PowerPoint, в котором есть несколько диаграмм, связанных с файлом Excel, которые автоматически обновляются при нажатии на «Обновить ссылки» в PowerPoint.
Пользователи могут обновить диаграммы в файле Excel, а затем нажать кнопку, чтобы запустить макрос, который открывает файл powerpoint и обновляет ссылки. Однако он не распознает, что файл Excel, который уже открыт, должен обновляться, и пытается повторно открыть файл Excel с общей точки, что приводит к ошибке «Невозможно открыть 2 файла с одинаковым именем». Пользователи не должны иметь возможности изменять файл Excel, поэтому это означает, что сначала нужно сохранить его, а затем закрыть открытый файл Excel, чтобы Powerpoint мог снова открыть его самостоятельно. То же самое относится и к сохранению файла под другим именем, поскольку эти изменения не будут сохранены.
Это известная проблема с PowerPoint или есть другой способ заставить его работать правильно при извлечении данных из местоположения Sharepoint, чтобы он распознавал уже открытый файл Excel - это тот же файл, который он должен открывать для обновления ссылок?
Я приложил используемый код:
Sub updatelinksppt()
Dim i As Long
Dim s As Long
Dim name As String
On Error Resume Next
With CreateObject("PowerPoint.Application")
.Visible = True
.Presentations.Open "SharePoint/Path", Untitled:=msoTrue
With .ActivePresentation
.UpdateLinks
For i = 1 To .Slides.Count
For s = 1 To .Slides(i).Shapes.Count
.Slides(i).Shapes(s).LinkFormat.BreakLink
Next s
Next i
name = Sheets("User Form").Range("B4")
.SaveAs Filename:="C:\Users\Path\" & name & ".pptx"
End With
End With
End Sub