Как обновить встроенные диаграммы excel в powerpoint?
У меня есть 30 диаграмм, которые были созданы из excel и были вставлены на слайды powerpoint. Каждый месяц я должен обновлять эти 30 встроенных диаграмм, вручную нажимая на диаграммы и редактируя их.
Я знаю, что есть возможность использовать специальную вставку, так что данные в диаграммах могут быть обновлены автоматически, щелкнув ссылки обновления. Тем не менее, мои диаграммы должны быть отредактированы некоторыми пользователями. Специальная вставка не позволяет пользователям редактировать диаграммы. Следовательно, я не могу использовать это специальная вставка.
Я думаю, что решение заключается в написании vba в powerpoint. Может ли любой эксперт здесь предложить написать этот код vba, чтобы все диаграммы были обновлены в powerpoint? В настоящее время я использую powerpoint 2007. Ваша помощь очень ценится.
2 ответов
Если вам нужно отредактировать диаграммы, то ясно, что вам нужно будет либо отредактировать базовые файлы Excel, либо иметь возможность редактировать в PowerPoint
поскольку вы используете PowerPoint2007, который обеспечивает полную поддержку Excel (в отличие от PowerPoint 2003, который имеет таблицу данных), я бы
Часть 1
- свяжите данные файла Excel с данными Excel под каждой диаграммой
- обеспечьте способность или использовать эти данные сразу, или over-ездить с пользовательскими данными
Это дает вам гибкое решение, за исключением того, что Excel, лежащий в основе каждой диаграммы, не может быть обновлен автоматически с помощью команды PowerPoint menu Update Links.
Часть 2
вы можете использовать код ниже, чтобы проверить, имеет ли каждая фигура на каждом слайде диаграмму. Если это так, этот код обновит первую ссылку Excel в файле Excel под диаграммой (эта часть может быть изменена на обрабатывать несколько ссылок)
Sub ChangeChartData()
Dim pptChart As Chart
Dim pptChartData As ChartData
Dim pptWorkbook As Object
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
If shp.HasChart Then
Set pptChart = shp.Chart
Set pptChartData = pptChart.ChartData
pptChartData.Activate
Set pptWorkbook = pptChartData.Workbook
On Error Resume Next
'update first link
pptWorkbook.UpdateLink pptWorkbook.LinkSources(1)
On Error GoTo 0
pptWorkbook.Close True
End If
Next
Next
Set pptWorkbook = Nothing
Set pptChartData = Nothing
Set pptChart = Nothing
End Sub
Это довольно легко сделать, без какого-либо кода VBA.
-
Нажмите кнопку "офис", выберите " Редактировать ссылки на файл "(это ниже "запустить проверку совместимости", вам нужно будет прокрутить вниз, чтобы увидеть этот последний вариант):
-
выберите все встроенные диаграммы (называемые здесь "ссылки"), нажмите "Обновить сейчас":
вы можете использовать то же окно для разорвать ссылки, а также изменить исходный файл для любой данной ссылки.