Можно использовать API PPT, чтобы обновить содержимое программно в существующем PowerPoint® представление.
Этот пример обновляет содержимое в презентации PowerPoint myPresentation
. Чтобы сгенерировать представление, запуститесь, пример в Создают Представление Программно. Несмотря на то, что вы создаете представление программно, после того, как вы генерируете его, представление похоже на любую другую презентацию PowerPoint. Представление включает четыре слайда:
Титульный слайд с заголовком Create Histogram Plots
Гистограмма вектора
Двигайте с заголовком What You Can Do with histogram
Параметры функции гистограммы
Использовать API PPT, чтобы обновить содержимое в существующей презентации PowerPoint программно, вас:
Настройте презентацию PowerPoint путем именования объектов содержания, которые вы хотите заменить. Если вы хотите добавить новое содержимое, вставьте заполнителей в представление для того содержимого.
В MATLAB®, импортируйте mlreportgen.ppt
Пакет API PPT.
Создайте Presentation
возразите, что использует существующую презентацию в качестве шаблона для обновленной версии.
Замените любое содержимое существующего слайда, которое вы хотите обновить.
Добавьте двигает любые новые слайды.
Сгенерируйте представление.
В этом примере вы используете API PPT, чтобы внести эти изменения в myPresentation
представление:
Замените изображение на втором понижении.
Замените текст на третьем понижении.
Замените таблицу на четвертом понижении.
Вставьте новое понижение перед понижением с графиком.
Вот обновленное представление:
Программа API PPT использует шаблон PowerPoint, чтобы сгенерировать представление. Когда вы обновите существующую презентацию PowerPoint программно, используйте то представление в качестве шаблона для обновленного представления. Обновить содержимое в Slide
объекты, используйте API PPT.
Откройте myPresentation
представление. В PowerPoint нажмите View> Normal.
Просмотрите имена объектов содержания в слайдах. Во вкладке Home нажмите Select> Selection Pane. Когда вы кликаете по содержимому в понижении, панель Selection подсвечивает имя объекта содержания.
Переименуйте объекты содержания. В панели Selection PowerPoint кликните в довольном по полю имени и замените текущее имя на имя, которое вы хотите. Используйте эти уникальные имена, чтобы обновить объекты содержания.
Во втором понижении измените Title
имя объекта к Histogram
и Picture
имя объекта к HistBins
.
В третьем понижении измените Title
к RelatedFuncs
. Измените Content
к FuncList
.
В четвертом понижении измените Table
к ParamTable
.
Все имена классов API PPT включают префиксный mlreportgen.ppt
. Чтобы избежать потребности включать префикс в ваш код, вставьте этот оператор в начале программы API PPT.
import mlreportgen.ppt.*
Примечание
import
линия является первой линией в примере программы. Этот пример создает программу API PPT в разделах и поэтому не показывает import
команда. Чтобы просмотреть полную программу, кликните по myUpdatedPresentation программе.
Presentation
ОбъектСоздайте Presentation
объект. Задайте:
myUpdatedPresentation.pptx
как выходной файл для сгенерированного представления.
myPresentation.pptx
как шаблон PowerPoint. Используйте файл презентации, который вы хотите обновить как файл шаблона.
ppt = Presentation('myUpdatedPresentation.pptx','myPresentation.pptx'); open(ppt);
Определение другого имени для выходного файла сохраняет исходную презентацию. Если вы хотите перезаписать существующую презентацию, можно использовать имя файла шаблона в качестве имени файла для выходного файла.
Измените заголовок второго понижения. Создайте Picture
возразите, чтобы заменить существующее изображение. Можно использовать find
метод с Presentation
возразите, чтобы найти объекты содержания под названием HistBins
и Histogram
(уникальные имена вы задали использование PowerPoint).
histTitle = Paragraph('Histogram with Specified Bin Edges'); replace(ppt,'Histogram',histTitle); x = randn(1000,1); edges = [-10 -2:0.25:2 10]; h = histogram(x,edges); saveas(gcf,'hist_plot.png'); plotEdges = Picture('hist_plot.png'); replace(ppt,'HistBins',plotEdges);
Измените заголовок третьего понижения. Создайте текст, чтобы заменить существующий текст. Текст включает ссылки на MathWorks® онлайн-документация. Добавьте ExternalLink
объекты к Paragraph
объекты и замена содержимое понижения использование массива ячеек Paragraph
объекты.
funcsTitle = Paragraph('Related Functions'); replace(ppt,'RelatedFuncs',funcsTitle); histCounts = Paragraph(); histCountsLink = ExternalLink... ('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts'); append(histCounts,histCountsLink); fewerbins = Paragraph(); fewerbinsLink = ExternalLink... ('https://www.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html','fewerbins'); append(fewerbins,fewerbinsLink); replace(ppt,'FuncList',{histCounts,fewerbins});
Чтобы составить таблицу, создайте Table
объект. В Table
конструктор, можно задать массив ячеек значений для ячеек таблицы. Чтобы получить полужирный текст для верхней строки, включайте Paragraph
объекты как первые три элемента массива ячеек. Затем замените таблицу.
long = Paragraph('Long Name'); long.Bold = true; short = Paragraph('Short Name'); short.Bold = true; rgb = Paragraph('RGB triplet'); rgb.Bold = true; table2 = Table({long,short,rgb;'yellow','y','[1 1 0]';'green','g','[1 0 1] '}); contents = find(ppt,'ParamTable'); replace(ppt,'ParamTable',table2);
Можно использовать API PPT, чтобы вставить новое понижение в существующую презентацию, и можно задать числовое местоположение понижения. Например, этот код делает новое понижение пятым понижением в представлении.
newSlide = add(ppt,'Title and Content',5);
Однако, чтобы иметь понижение предшествуют определенному понижению, даже если позже вы добавляете или удаляете другие слайды, можно задать ссылочное понижение. Чтобы использовать этот подход при обновлении существующей презентации PowerPoint, используйте API PPT, чтобы назвать ссылочное понижение. Используйте имя ссылочного понижения, когда вы вставите новое понижение.
ppt.Children(2).Name = 'ReferenceSlide'; refSlide = find(ppt,'ReferenceSlide'); introSlide = add(ppt,'Title and Content',refSlide); contents = find(introSlide,'Title'); replace(contents(1),'Histogram Plots'); introText = Paragraph('You can use the '); code = Text('histogram'); code.Font = 'Courier New'; append(introText,code); append(introText,' function to create many types of plots.'); contents = find(introSlide,'Content'); replace(contents(1),introText);
Сгенерируйте презентацию PowerPoint. Используйте close
метод с Presentation
объект. Просмотрите представление.
close(ppt); rptview(ppt);
myUpdatedPresentation
Вот полная программа API PPT, чтобы создать myUpdatedPresentation
представление.
Примечание
Этот код требует что myPresentation.pptx
файл быть в вашей текущей папке. Чтобы сгенерировать то представление, запуститесь, пример в Создают Представление Программно. Прежде чем вы запустите код для myUpdatedPresentation
, убедитесь, что существующая презентация включает изменения, описанные в Настроенный Существующая презентация.
import mlreportgen.ppt.*; ppt = Presentation('myUpdatedPresentation.pptx','myPresentation.pptx'); open(ppt); histTitle = Paragraph('Histogram with Specified Bin Edges'); replace(ppt,'Histogram',histTitle); x = randn(1000,1); edges = [-10 -2:0.25:2 10]; h = histogram(x,edges); saveas(gcf,'hist_plot.png'); plotEdges = Picture('hist_plot.png'); replace(ppt,'HistBins',plotEdges) funcsTitle = Paragraph('Related Functions'); replace(ppt,'RelatedFuncs',funcsTitle); histCounts = Paragraph(); histCountsLink = ExternalLink... ('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts'); append(histCounts,histCountsLink); fewerbins = Paragraph(); fewerbinsLink = ExternalLink... ('https://www.mathworks.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html','fewerbins'); append(fewerbins,fewerbinsLink); replace(ppt,'FuncList',{histCounts,fewerbins}); long = Paragraph('Long Name'); long.Bold = true; short = Paragraph('Short Name'); short.Bold = true; rgb = Paragraph('RGB triplet'); rgb.Bold = true; table2 = Table({long,short,rgb;'yellow','y','[1 1 0]'; 'green', 'g','[1 0 1] '}); contents = find(ppt,'ParamTable'); replace(ppt,'ParamTable',table2); ppt.Children(2).Name = 'ReferenceSlide'; refSlide = find(ppt,'ReferenceSlide'); introSlide = add(ppt,'Title and Content',refSlide(1)); contents = find(introSlide,'Title'); replace(contents(1),'Histogram Plots'); introText = Paragraph('You can use the '); code = Text('histogram '); code.Style = {FontFamily('Courier New')}; append(introText,code); append(introText,'function to create many types of plots.'); contents = find(introSlide,'Content'); replace(contents(1),introText); close(ppt); rptview(ppt);