Обновите содержание презентации программно

Можно использовать API PPT, чтобы обновить содержимое программно в существующем представлении PowerPoint®.

Сгенерируйте существующую презентацию

Этот пример обновляет содержимое в презентации PowerPoint myPresentation. Чтобы сгенерировать представление, запуститесь, пример в Создают Представление Программно. Несмотря на то, что вы создаете представление программно, после того, как вы генерируете его, представление похоже на любую другую презентацию PowerPoint. Представление включает четыре слайда:

  • Титульный слайд с заголовком Create Histogram Plots

  • Гистограмма вектора

  • Двигайте с заголовком What You Can Do with histogram

  • Параметры функции гистограммы

The generated slides in PowerPoint

Использовать API PPT, чтобы обновить содержимое в существующей презентации PowerPoint программно, вас:

  • Настройте презентацию PowerPoint путем именования объектов содержания, которые вы хотите заменить. Если вы хотите добавить новое содержимое, вставьте заполнителей в представление для того содержимого.

  • В MATLAB® импортируйте mlreportgen.ppt Пакет API PPT.

  • Создайте Presentation возразите, что использует существующую презентацию в качестве шаблона для обновленной версии.

  • Замените любое содержимое существующего слайда, которое вы хотите обновить.

  • Добавьте двигает любые новые слайды.

  • Сгенерируйте представление.

Обновления представления

В этом примере вы используете API PPT, чтобы внести эти изменения в myPresentation представление:

  • Замените изображение на втором понижении.

  • Замените текст на третьем понижении.

  • Замените таблицу на четвертом понижении.

  • Вставьте новое понижение перед понижением с графиком.

Вот обновленное представление:

The second slide is now a description of histogram plots. The plot in the third slide is a histogram with specified bin edges. The fourth slide lists related functions.

Настройте существующую презентацию

Программа API PPT использует шаблон PowerPoint, чтобы сгенерировать представление. Когда вы обновите существующую презентацию PowerPoint программно, используйте то представление в качестве шаблона для обновленного представления. Обновить содержимое в Slide объекты, используйте API PPT.

  1. Откройте myPresentation представление. В PowerPoint нажмите View> Normal.

  2. Просмотрите имена объектов содержания в слайдах. Во вкладке Home нажмите Select> Selection Pane. Когда вы кликаете по содержимому в понижении, панель Selection подсвечивает имя объекта содержания.

    The PowerPoint Normal View with the "Histogram Of Vector" slide selected and the Picture name highlighted in the Selection pane.

  3. Переименуйте объекты содержания. В панели Selection PowerPoint кликните в довольном по полю имени и замените текущее имя на имя, которое вы хотите. Используйте эти уникальные имена, чтобы обновить объекты содержания.

    • Во втором понижении измените Title имя объекта к Histogram и Picture имя объекта к HistBins.

    • В третьем понижении измените Title к RelatedFuncs. Измените Content к FuncList.

    • В четвертом понижении измените Table к ParamTable.

Импортируйте пакет API PPT

Все имена классов 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');

Определение другого имени для выходного файла сохраняет исходную презентацию. Если вы хотите перезаписать существующую презентацию, можно использовать имя файла шаблона в качестве имени файла для выходного файла.

Замените изображение

Измените заголовок второго понижения. Создайте 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');

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);

Похожие темы