여러 Excel 차트가 링크로 붙여진 PowerPoint 프레젠테이션이 있습니다. VBA를 사용하여 확인했는데이 모양의 유형은 msoLinkedOLEObject
입니다. 이를 아는Powerpoint VBA : 연결된 Excel 차트의 오픈 소스
, 내가 먼저 다음과 같이 VBA를 통해 원래 차트가 포함 된 Excel 파일을 열고 차트의 "업데이트 링크"명령을 사용하고 싶습니다 :
내가 원하는 열린 Excel 파일과 함께 "링크 업데이트"명령을 사용하는 것이 일반적으로 "링크 업데이트"명령을 직접 사용하는 것보다 빠르기 때문에 (아마도 일부 PowerPoint 프레젠테이션과 일부 통합 문서는 실제로 확장 성이 있기 때문에) 통합 문서를 먼저 열어야합니다.
sld.Shapes(i).LinkFormat
코드의 경우 .UpdateLinks
을 사용하여 직접 데이터를 새로 고칠 수는 있지만 Excel 원본 파일을 직접 열 수는 없습니다 (연결된 차트를 수동으로 클릭 할 때와 동일한 방법으로).
달성 될 수 있습니까?
Sub UpdateExcelLinkedCharts()
Dim pres As Presentation
Dim sld As Slide
Dim shp As Shape
Set pres = Application.ActivePresentation
'Loop through all active slides in the presentation
For Each sld In pres.Slides
If sld.SlideShowTransition.Hidden = msoFalse Then
'If the slide is a msoLinkedOLEObject, proceed to update its link
For i = 1 To sld.Shapes.Count
If sld.Shapes(i).Type = 10 Then
sld.Shapes(i).LinkFormat.UpdateLinks
End If
Next i
End If
Next sld
MsgBox ("All Links Updated!")
End Sub